diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..de3b375
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,16 @@
+GStreamer for Debian
+----------------------
+This package contains the GStreamer distribution.
+
+More information can be found at http://gstreamer.net/
+
+GStreamer core is split into the following packages:
+
+   libgstreamer#           core libraries, plugins, and utilities
+   libgstreamer#-dev       development libs and headers
+   gstreamerVER-doc        documentation
+   gstreamerVER-tools      useful tools
+
+Where VER is the major and minor version of the libarary.
+
+David I. Lehn <dlehn@debian.org>  Thu, 01 May 2003 19:30:35 -0400
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..76c0660
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2306 @@
+gstreamer1.0 (1.0.0-1) unstable; urgency=low
+
+  * New upstream stable release:
+    + debian/libgstreamer.symbols:
+      - Update symbols file.
+    + debian/*:
+      - Change remaining parts from 0.11 to 1.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 24 Sep 2012 16:28:50 +0200
+
+gstreamer1.0 (0.11.99-1) experimental; urgency=low
+
+  * New upstream release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 18 Sep 2012 08:55:08 +0200
+
+gstreamer1.0 (0.11.94-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/libgstreamer.symbols:
+      - Update symbols file.
+    + debian/control.in:
+      - Build-depend on gtk-doc >= 1.12.
+    + debian/patches/0001-netclientclock-simplify-by-using-g_socket_condition_.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 14 Sep 2012 09:04:41 +0200
+
+gstreamer1.0 (0.11.93-2) experimental; urgency=low
+
+  * debian/control.in:
+    + Build-depend on GLIB >= 2.23.
+  * debian/patches/0001-netclientclock-simplify-by-using-g_socket_condition_.patch:
+    + Fix unit test hang that causes the build to fail sometimes.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 10 Aug 2012 12:59:53 +0200
+
+gstreamer1.0 (0.11.93-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/libgstreamer.symbols:
+      - Update symbols file.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 08 Aug 2012 18:12:33 +0200
+
+gstreamer1.0 (0.11.92-1) experimental; urgency=low
+
+  * debian/control.in:
+    + Update automake, autoconf and libtool build dependencies.
+  * New upstream release, "High Hopes":
+    + debian/libgstreamer.symbols:
+      - Update symbols file.
+  * debian/gst-codec-info.c:
+    + Updated for API changes.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 08 Jun 2012 09:38:04 +0200
+
+gstreamer1.0 (0.11.91-1) experimental; urgency=low
+
+  * New upstream release, "I will give you five magic beans!":
+    + debian/libgstreamer.symbols:
+      - Update symbols file.
+  * debian/libgstreamer-dev.install:
+    + Don't ship useless .la file for the core plugins.
+    + Don't ship .a and .la files for the library.
+  * debian/control.in:
+    + Update debhelper dependency version and Standards-Version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 21 May 2012 11:14:06 +0200
+
+gstreamer1.0 (0.11.90-1) experimental; urgency=low
+
+  [ Olivier Naudan ]
+  * Imported Upstream version 0.11.90
+  * debian/rules and debian/changelog: migration to 1.0
+  * debian/control*: aligned libglib2.0-dev version requirement with configure.ac
+  * gst-codec-info.c: migration to gst 1.0
+  * Updated debian/patches to use GST_API_VERSION
+  * Refreshed 99_ltmain_as-needed.patch to apply cleanly again
+  * debian/control: updated package names with 1.0
+  * Updated debian/libgstreamer.symbols based on upstream 0.11.90
+  * debian/control*: added a new build-dep on libxml2-dev
+
+  [ Sebastian Dröge ]
+  * Fix symbols file versions.
+  * 79_multiarch-backwards-compat.patch: Dropped, there's no need for
+    backwards compatibility anymore.
+  * Remove libxml2-dev build-dependency again.
+  * Update copyright.
+  * 80_ia32-hack.patch: Dropped, shouldn't be needed anymore.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 02 May 2012 17:27:44 +0200
+
+gstreamer0.11 (0.11.1-3) UNRELEASED; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/control.in:
+    + Don't (build-) depend on libxml2.
+    + Build-depend on automake (>= 1.10), autoconf (>= 2.60) and
+      libtool (>= 2.0) to make dh-autoreconf actually work.
+
+  [ Loïc Minier ]
+  * Only track 0.11.* versions in watch file.
+  * Update my email address in control.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 14 Dec 2011 12:18:43 +0100
+
+gstreamer0.11 (0.11.1-2) experimental; urgency=low
+
+  * debian/control.in:
+    + Build-depend on GLib 2.26.
+  * debian/dh_gstscancodecs:
+    + Fix for multi-arch to look in the correct directories.
+      Patch by YunQiang Su <wzssyqa@gmail.com>.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 13 Dec 2011 10:11:55 +0100
+
+gstreamer0.11 (0.11.1-1) experimental; urgency=low
+
+  [ Nicolas Dechesne ]
+  * New upstream release.
+    + debian/libstreamer.symbols
+    + debian/control.in
+      - removed unversioned gstreamer-tools since removed upstream
+      - removed old Replaces/Conflicts which no longer make sense on 0.11
+    + debian/rules
+      - updated abi number
+    + misc
+      - removed xmllaunch, feedback and xmlinspect
+      - replaced reference to GST_PLUGIN_FEATURE_NAME to GST_OBJECT_NAME
+
+  [ Sebastian Dröge ]
+  * debian/copyright:
+    + Clean up, fix and complete copyright file.
+  * Merge 0.10.35.2-1.
+  * Upload to experimental
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 12 Dec 2011 11:44:42 +0100
+
+gstreamer0.10 (0.10.35.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/control.in:
+      - Build-depend on GLib >= 2.24.
+    + debian/patches/99_ltmain_as-needed.patch:
+      - Refreshed to apply cleanly again.
+    + debian/libgstreamer.symbols:
+      - Update symbols file with new API.
+  * debian/rules:
+    + Remove all dependency_libs from the .la files (Closes: #633319).
+  * debian/control.in:
+    + Put GI package into section introspection.
+  * debian/compat,
+    debian/control.in,
+    debian/gir1.2-gstreamer.install,
+    debian/libgstreamer-dev.install,
+    debian/libgstreamer.install,
+    debian/patches/79_multiarch-backwards-compat.patch,
+    debian/patches/80_ia32-hack.patch,
+    debian/rules:
+    + Transition package to multi-arch (Closes: #647481).
+      Patch taken from the Ubuntu package.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 11 Dec 2011 18:52:12 +0100
+
+gstreamer0.10 (0.10.35-1) unstable; urgency=low
+
+  * New upstream bugfix release, "Nuclear Fission".
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 23 Jun 2011 08:48:30 +0200
+
+gstreamer0.10 (0.10.34-1) unstable; urgency=low
+
+  * New upstream bugfix release, "Misfits".
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 14 May 2011 11:41:04 +0200
+
+gstreamer0.10 (0.10.33-1) unstable; urgency=low
+
+  * New upstream release, "Prior Spaceflight Experience is an Advantage":
+    + debian/libgstreamer.symbols:
+      - Update version of new symbols to 0.10.33.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 10 May 2011 15:45:19 +0200
+
+gstreamer0.10 (0.10.32.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Apr 2011 14:04:36 +0200
+
+gstreamer0.10 (0.10.32.2-1) experimental; urgency=low
+
+  * debian/control.in:
+    + Let the -dev package depend on the GIR package as required by
+      the new gobject-introspection policy.
+
+  [ Alessandro Decina ]
+  * debian/control.in:
+    + Add build dependency on dh-autoreconf.
+  * debian/rules:
+    + Include dh-autoreconf cdbs rule.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/01_valve-only-set-discont-once.patch:
+      - Dropped, merged upstream.
+    + debian/libgstreamer.symbols:
+      - Add new API.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 17 Apr 2011 09:45:41 +0200
+
+gstreamer0.10 (0.10.32-6) unstable; urgency=low
+
+  * Upload to unstable for the gobject-introspection transition.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 22 Mar 2011 13:58:41 +0100
+
+gstreamer0.10 (0.10.32-5) experimental; urgency=low
+
+  * debian/control.in:
+    + Revert gobject-introspection versio revert and provide
+      gir1.2-gstreamer-0.10 again.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 07 Mar 2011 09:26:32 +0100
+
+gstreamer0.10 (0.10.32-4) unstable; urgency=low
+
+  * debian/control.in: Remove Conflict on gst-plugins-bad, the registry
+    itself works around it.
+  * debian/control.in: Move back to the old gobject-introspection stack as it
+    hasn't migrated to unstable yet
+  * Both of the above fixes FTBS on unstable (Closes: #615911)
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Wed, 02 Mar 2011 00:18:29 +0000
+
+gstreamer0.10 (0.10.32-3) unstable; urgency=low
+
+  * debian/patches/01_valve-only-set-discont-once.patch
+    - Added. Fixes bad audio quality in calls from Empathy (From upstream git)
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Mon, 28 Feb 2011 18:42:54 +0000
+
+gstreamer0.10 (0.10.32-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 08 Feb 2011 10:55:58 +0100
+
+gstreamer0.10 (0.10.32-1) experimental; urgency=low
+
+  * New upstream stable release, "Take Me to the Bonus Level":
+    + debian/libgstreamer.symbols:
+      - Update new symbols to the release version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 22 Jan 2011 12:54:28 +0100
+
+gstreamer0.10 (0.10.31.4-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update new symbols to the latest pre-release version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Jan 2011 21:09:58 +0100
+
+gstreamer0.10 (0.10.31.3-1) experimental; urgency=low
+
+  * debian/control.in:
+    + Conflict with gstreamer0.10-plugins-bad0.10 (<< 0.10.20.2) because
+      of the moved selector and valve plugins. There's no file conflict.
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update new symbols to the latest pre-release version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 13 Jan 2011 11:47:02 +0100
+
+gstreamer0.10 (0.10.31.2-1) experimental; urgency=low
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/control.in,
+    debian/rules:
+    + Use dpkg-vendor instead of lsb_release.
+
+  [ Sebastian Dröge ]
+  * debian/control.in:
+    + Suggest gstreamer0.10-plugins-base instead of the non-existing
+      gstreamer0.10-plugins package (Closes: #607466).
+  * New upstream pre-release:
+    + debian/control.in:
+      - Require GLib >= 2.22.
+    + debian/patches/*.patch:
+      - Refreshed.
+    + debian/libgstreamer.symbols:
+      - Add new API symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 08 Jan 2011 17:05:50 +0100
+
+gstreamer0.10 (0.10.31-2) experimental; urgency=low
+
+  * Transition from gir1.0-gstreamer-0.10 to gir1.2-gstreamer-0.10
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Sun, 12 Dec 2010 19:45:03 +0000
+
+gstreamer0.10 (0.10.31-1) experimental; urgency=low
+
+  * New upstream release, "Safety Pins":
+    + debian/libgstreamer.symbols:
+      - Update symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 02 Dec 2010 10:30:18 +0100
+
+gstreamer0.10 (0.10.30.5-1) experimental; urgency=low
+
+  * debian/control.in:
+    + Drop gir-repository-dev build dependency. It's not needed and
+      only pulls in half of Gnome.
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Nov 2010 11:26:27 +0100
+
+gstreamer0.10 (0.10.30.4-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 01 Nov 2010 20:11:56 +0100
+
+gstreamer0.10 (0.10.30.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 22 Oct 2010 19:51:53 +0200
+
+gstreamer0.10 (0.10.30.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/80_ia32-hack.patch:
+      - Refreshed.
+    + debian/libgstreamer.symbols:
+      - Add new symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 16 Oct 2010 11:14:39 +0200
+
+gstreamer0.10 (0.10.30-1) unstable; urgency=low
+
+  * New upstream stable release, "Safety First":
+    + debian/libgstreamer.symbols:
+      - Update new symbols version to 0.10.30.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 15 Jul 2010 13:48:14 +0200
+
+gstreamer0.10 (0.10.29.4-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update new symbols version to 0.10.29.4.
+      - Add new symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 07 Jul 2010 11:40:13 +0200
+
+gstreamer0.10 (0.10.29.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update new symbols version to 0.10.29.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 30 Jun 2010 10:40:20 +0200
+
+gstreamer0.10 (0.10.29.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/rules,
+      debian/compat,
+      debian/control.in,
+      debian/source/format,
+      debian/patches/*:
+      - Update to debhelper compat level 7.
+      - Update to source format 3.0 (quilt).
+      - Update to Standards-Version 3.8.4.
+    + debian/libgstreamer.symbols:
+      - Update symbols file for the new API.
+    + debian/control.in:
+      - Build depend on GLib 2.20.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 26 Jun 2010 20:17:40 +0200
+
+gstreamer0.10 (0.10.29-1) unstable; urgency=low
+
+  * New upstream release, "It's a Trap":
+    + debian/libgstreamer.symbols:
+      - Update symbol versions to the stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 28 Apr 2010 09:40:47 +0200
+
+gstreamer0.10 (0.10.28.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 26 Apr 2010 07:58:27 +0200
+
+gstreamer0.10 (0.10.28.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Update symbols file for the new API.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 15 Apr 2010 11:44:13 +0200
+
+gstreamer0.10 (0.10.28-1) unstable; urgency=low
+
+  * New upstream stable release, "Same Old, Same Old".
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 09 Mar 2010 09:45:24 +0000
+
+gstreamer0.10 (0.10.27-1) unstable; urgency=low
+
+  * New upstream stable release, "You're Shocked, We Know":
+    + debian/libgstreamer.symbols:
+      - Updated symbol versions to the stable version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 07 Mar 2010 10:18:53 +0000
+
+gstreamer0.10 (0.10.26.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 25 Feb 2010 08:20:25 +0100
+
+gstreamer0.10 (0.10.26.2-2) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Added new API.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Feb 2010 13:46:16 +0100
+
+gstreamer0.10 (0.10.26-1) unstable; urgency=low
+
+  * New upstream release, "Think Twice":
+    + debian/libgstreamer.symbols:
+      - Update to use the stable versions.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 11 Feb 2010 10:30:18 +0100
+
+gstreamer0.10 (0.10.25.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 05 Feb 2010 09:59:16 +0100
+
+gstreamer0.10 (0.10.25.2-3) experimental; urgency=low
+
+  * debian/patches/80_ia32-hack.patch:
+    + Fix FTBFS if sys/utsname.h is not included indirectly by
+      other headers.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 28 Jan 2010 17:54:47 +0100
+
+gstreamer0.10 (0.10.25.2-2) experimental; urgency=low
+
+  * debian/libgstreamer.install:
+    + Also ship the registry update helper application.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Jan 2010 10:38:21 +0100
+
+gstreamer0.10 (0.10.25.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/01_multiqueue-iterate-internal-links.patch:
+      - Dropped, merged upstream.
+    + debian/patches/80_ia32-hack.patch:
+      - Updated to apply cleanly again.
+    + debian/control.in:
+      - Conflict with gstreamer0.10-plugins-base (<< 0.10.25.2) because
+        of a moved plugin. This is no file conflict but a GObject type
+        name conflict.
+      - Build depend on GLib 2.18.
+    + debian/libgstreamer.symbols:
+      - Added new API.
+  * debian/control.in:
+    + Remove David I. Lehn from Uploaders (Closes: #557284).
+    + Fix typo in package description (Closes: #557365).
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Jan 2010 07:43:13 +0100
+
+gstreamer0.10 (0.10.25-4) unstable; urgency=low
+
+  * debian/rules:
+    + Don't include the plugin library files in the dh_makeshlibs
+      call (Closes: #559657).
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 06 Dec 2009 13:57:03 +0100
+
+gstreamer0.10 (0.10.25-3) unstable; urgency=low
+
+  * debian/rules,
+    debian/control.in,
+    debian/gir1.0-gstreamer.install:
+    + Update for the new GObject-Introspection mini spec (Closes: #551568).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 Oct 2009 10:54:14 +0200
+
+gstreamer0.10 (0.10.25-2) unstable; urgency=low
+
+  * debian/patches/01_multiqueue-iterate-internal-links.patch:
+    + Patch from upstream GIT to improve the iterate internal links
+      function of the multiqueue element. It's more robust and faster
+      now.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 07 Oct 2009 08:52:26 +0200
+
+gstreamer0.10 (0.10.25-1) unstable; urgency=low
+
+  * New upstream release, 'Feel the burn':
+    + debian/libgstreamer.symbols:
+      - Updated for the new release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 05 Oct 2009 18:07:40 +0200
+
+gstreamer0.10 (0.10.24.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 02 Oct 2009 07:41:43 +0200
+
+gstreamer0.10 (0.10.24.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/01_gir-pkgconfig-path.patch,
+      debian/patches/02_pkgconfig-first.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 17 Sep 2009 07:13:33 +0200
+
+gstreamer0.10 (0.10.24.2-2) experimental; urgency=low
+
+  * debian/rules:
+    + Set HOME to a fake home directory to prevent writing
+      to a non-writable buildd home which results in FTBFS (Closes: #546444).
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 13 Sep 2009 11:14:41 +0200
+
+gstreamer0.10 (0.10.24.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/control.in,
+      debian/libgstreamer.install,
+      debian/libgstreamer-dev.install:
+      - Enable GObject-Introspection support and ship the generated
+        files in the -dev and shared library package.
+    + debian/control.in:
+      - Update build dependencies.
+    + debian/patches/90_dont-link-gstcheck-with-check.patch:
+      - Dropped, not needed anymore.
+    + debian/libgstreamer.symbols:
+      - Updated for the new version.
+  * debian/control.in:
+    - Update Standards-Version to 3.8.3.
+  * debian/patches/01_gir-pkgconfig-path.patch:
+    - Add correct pkg-config search path for introspection
+      generation.
+  * debian/patches/02_pkgconfig-first.patch:
+    - Generate pkg-config before all binaries.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 12 Sep 2009 12:23:52 +0200
+
+gstreamer0.10 (0.10.24-1) unstable; urgency=low
+
+  * New upstream release, 'It matters':
+    + debian/libgstreamer.symbols:
+      - Updated for the new release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 05 Aug 2009 08:00:46 +0200
+
+gstreamer0.10 (0.10.23.4-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Updated for the new pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 24 Jul 2009 18:41:42 +0200
+
+gstreamer0.10 (0.10.23.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer.symbols:
+      - Updated for the new pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 21 Jul 2009 09:48:07 +0200
+
+gstreamer0.10 (0.10.23.2-1) experimental; urgency=low
+
+  * debian/control.in:
+    + Fix section of debug package.
+    + Update Standards-Version to 3.8.2, no additional changes needed.
+  * New upstream pre-release:
+    + debian/control.in:
+      - Update build dependencies.
+    + debian/patches/01_urihandler-get_type_full.patch:
+      - Dropped, merged upstream.
+    + debian/libgstreamer.symbols:
+      - Updated for the new API additions.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 15 Jul 2009 09:07:03 +0200
+
+gstreamer0.10 (0.10.23-2) unstable; urgency=low
+
+  * debian/control.in:
+    + (Build-) depend on libxml2-doc and libglib2.0-doc to get correct
+      cross references in the docs.
+    + Add ${misc:Depends} everywhere.
+  * debian/gstreamer-doc.links:
+    + Add links to /usr/share/gtk-doc to allow cross references to
+      the gstreamer core docs.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 17 Jun 2009 16:31:46 +0200
+
+gstreamer0.10 (0.10.23-1) unstable; urgency=low
+
+  * New upstream release, 'Alaboo Alaboo':
+    + debian/libgstreamer.symbols:
+      - Change new symbol version to 0.10.23.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 11 May 2009 10:02:06 +0200
+
+gstreamer0.10 (0.10.22.4-1) experimental; urgency=low
+
+  * debian/patches/90_dont-link-gstcheck-with-check.patch:
+    + Patch by Arnaud Soyez to fix FTBFS because of invalid make syntax.
+      (Closes: #527007).
+  * debian/patches/01_urihandler-get_type_full.patch:
+    + Use get_type_full() vmethod instead of get_type() if specified.
+      This makes it possible to implement GstURIHandler from bindings.
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 07 May 2009 09:27:44 +0200
+
+gstreamer0.10 (0.10.22.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 22 Apr 2009 08:05:52 +0200
+
+gstreamer0.10 (0.10.22.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/control.in:
+      - Require GLib >= 2.14.
+    + debian/libgstreamer.symbols:
+      - Add new symbols.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.1, no additional changes needed.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 16 Apr 2009 06:17:17 +0200
+
+gstreamer0.10 (0.10.22-3) unstable; urgency=low
+
+  * debian/patches/90_dont-link-gstcheck-with-check.patch:
+    + Don't link libgstcheck with check. check is a static library
+      and by linking it to libgstcheck and to everything using libgstcheck
+      we're introducing the check symbols twice and export the check
+      API from libgstcheck (Closes: #521735).
+  * debian/rules:
+    + Include clean-la.mk to remove dependency_libs from the .la files.
+      This is a preparation to drop them later and to remove unneeded
+      dependencies when linking to the GStreamer libraries.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 01 Apr 2009 16:07:22 +0200
+
+gstreamer0.10 (0.10.22-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 15 Feb 2009 19:43:50 +0100
+
+gstreamer0.10 (0.10.22-1) experimental; urgency=low
+
+  * New upstream release, 'I heard a disturbing sound':
+    + debian/libgstreamer.symbols:
+      - Updated for the new version.
+    + Fixes segfault in gst_register_typefind() (Closes: #511902).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 Jan 2009 09:10:34 +0100
+
+gstreamer0.10 (0.10.21.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 11 Jan 2009 20:09:19 +0100
+
+gstreamer0.10 (0.10.21.2-3) experimental; urgency=low
+
+  * debian/rules:
+    + Fix check introduced in last version to prevent FTBFS.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 09 Jan 2009 11:05:19 +0100
+
+gstreamer0.10 (0.10.21.2-2) experimental; urgency=low
+
+  * debian/rules:
+    + Only build the docs when binary-indep is called.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 08 Jan 2009 10:05:43 +0100
+
+gstreamer0.10 (0.10.21.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/01_wrapper-plugins.patch,
+      debian/patches/02_gtkdoc-rebase.patch,
+      debian/patches/03_registry-failure-crash.patch,
+      debian/patches/04_pad-caps-acception.patch,
+      debian/patches/05_basetransform-caps-refcount.patch,
+      debian/patches/06_basetransform-buffer-allocation.patch:
+      - Dropped, merged upstream.
+    + debian/patches/80_ia32-hack.patch:
+      - Updated to apply cleanly again.
+    + debian/libgstreamer.symbols:
+      - Updated with the new symbols.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 07 Jan 2009 09:42:00 +0100
+
+gstreamer0.10 (0.10.21-5) experimental; urgency=low
+
+  * debian/patches/06_basetransform-buffer-allocation.patch:
+    + Patch from upstream CVS to fix buffer allocation. Before it could
+      happen that invalid memory references were returned.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 24 Oct 2008 14:49:42 +0200
+
+gstreamer0.10 (0.10.21-4) experimental; urgency=low
+
+  * debian/patches/04_pad-caps-acception.patch:
+    + Patch from upstream CVS to fix several cases where basetransform
+      elements didn't accept caps while they should.
+  * debian/patches/05_basetransform-caps-refcount.patch:
+    + Patch from upstream CVS to make sure that basetransform's pad caps
+      have the correct refcount and are not destroyed by accident.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 22 Oct 2008 07:53:14 +0200
+
+gstreamer0.10 (0.10.21-3) experimental; urgency=low
+
+  * debian/patches/03_registry-failure-crash.patch:
+    + Patch from upstream CVS to fix a crash when writing the registry file
+      failed. Fixes builds on buildd's with non-writable $HOME.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 08 Oct 2008 12:22:10 +0200
+
+gstreamer0.10 (0.10.21-2) experimental; urgency=low
+
+  * debian/libgstreamer.symbols:
+    - Updated for 0.10.21 so we depend on a stable version.
+  * debian/patches/02_gtkdoc-rebase.patch:
+    - Don't require gtk-doc for the docs. Fixes the build with
+      binary-indep (Closes: #499818).
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 05 Oct 2008 10:02:37 +0200
+
+gstreamer0.10 (0.10.21-1) experimental; urgency=low
+
+  * New upstream release, 'Take These Things From Me'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 04 Oct 2008 12:16:53 +0200
+
+gstreamer0.10 (0.10.20.2-1) experimental; urgency=low
+
+  * debian/gst-codec-info.c:
+    + Ignore decoders with a less than marginal rank as they're
+      not autoplugged by playbin/decodebin. This only applies to the
+      X-Gst-Decoders field.
+  * New upstream pre-release:
+    + debian/patches/02_gtk-doc-cflags.patch:
+      - Dropped, merged upstream.
+    + debian/libgstreamer.symbols:
+      - Updated for the new version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 21 Sep 2008 16:22:29 +0200
+
+gstreamer0.10 (0.10.20-3) experimental; urgency=low
+
+  [ Loic Minier ]
+  * Bdep on perl-doc; thanks Marc 'HE' Brockschmidt; closes: #495043.
+  * Wrap uploaders, bdeps and deps.
+
+  [ Sebastian Dröge ]
+  * debian/gst-codec-info.c:
+    + Rename gstreamer0.10-{audio,video}src to
+      gstreamer0.10-{audio,video}source.
+    + Remove some more useless fields from the encoder/decoder caps.
+  * debian/control.in:
+    + Let the -dev package recommends debhelper for the dh_gstscancodecs
+      script (Closes: #494999).
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 15 Aug 2008 09:21:42 +0200
+
+gstreamer0.10 (0.10.20-2) experimental; urgency=low
+
+  * debian/control.in:
+    + Update flex build dependency to >= 2.5.34 for the new symbols this
+      adds to the library (Closes: #492028).
+  * debian/gst-codec-info.c,
+    debian/control.in,
+    debian/rules,
+    debian/dh_gstscancodecs,
+    debian/libgstreamer-dev.install:
+    + Implement infrastructure to export the codec installation informations
+      via binary package control fields. Move dh_gstscancodecs to the -dev
+      package and implement helper utility gst-codec-info-0.10 for getting
+      the codec information for a package.
+  * debian/rules,
+    debian/libgstreamer-dev.install:
+    + Add a manpage for dh_gstscancodecs (Closes: #445456).
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 07 Aug 2008 15:47:00 +0200
+
+gstreamer0.10 (0.10.20-1) unstable; urgency=low
+
+  * New upstream release, 'You Crazy Diamond':
+    + debian/libgstreamer.symbols:
+      - Updated for the new version.
+  * debian/control.in:
+    + Replace gs build dependency by ghostscript as the former is only a
+      transitional dummy package.
+    + Update Standards-Version to 3.8.0, no additional changes needed.
+  * debian/libgstreamer.symbols:
+    + Append '~' to the versions for symbols which were introduced between
+      different Debian package versions.
+  * debian/gstreamer-doc.links:
+    + Link the GStreamer plugins documentation into the devhelp directories
+      too.
+  * debian/gstreamer0.10-doc.doc-base.manual,
+    debian/gstreamer0.10-doc.doc-base.pwg,
+    debian/gstreamer0.10-doc.doc-base.core-ref,
+    debian/gstreamer0.10-doc.doc-base.libs-ref,
+    debian/gstreamer0.10-doc.doc-base.faq:
+    + Fix sections.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 18 Jun 2008 20:11:25 +0200
+
+gstreamer0.10 (0.10.19.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/02_link-dl.patch:
+      - Dropped, merged upstream.
+  * debian/patches/02_gtk-doc-cflags.patch:
+    + Use the CFLAGS passed to configure also for the gtk-doc utitilities.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 12 Jun 2008 10:53:21 +0200
+
+gstreamer0.10 (0.10.19.2-1) experimental; urgency=low
+
+  [ Sjoerd Simons ]
+  * debian/patches/07_bus_flushing_race.patch
+    + Added. Patch from upstream CVS to handle the bus_dispatch function
+    popping NULL from the message queue, which can happen if the bus is set to
+    flushing between check/prepare and dispatch.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/03_binary-registry-version.patch,
+      debian/patches/04_binary-registry-alignment.patch,
+      debian/patches/05_binary-registry-empty-uri-schemes-corruption.patch,
+      debian/patches/06_binary-registry-checksum.patch,
+      debian/patches/07_bus_flushing_race.patch,
+      debian/patches/75_build_docs_without_python_xml.patch:
+      - Dropped, merged upstream.
+    + debian/control.in:
+      - Drop python-twisted-core from build dependencies as it's not needed
+        anymore.
+      - Bump glib build dependency to >= 2.12.
+    + debian/rules:
+      - Drop configure parameter to build the binary registry. It's the
+        default now.
+    + debian/libgstreamer.symbols:
+      - Updated symbol file with the new symbols.
+  * debian/rules:
+    + Pass -c4 to to dh_makeshlibs to fail the build when the symbol files is
+      out of date.
+    + Don't compress gtk-doc documentation to make gtk-doc happy.
+  * debian/patches/02_werror.patch,
+    debian/rules:
+    + Drop patch to prevent usage of -Werror and append -Wno-error to
+      CFLAGS and CXXFLAGS instead.
+  * debian/patches/02_link-dl.patch:
+    + Link with -ldl for dladdr().
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 05 Jun 2008 07:57:05 +0200
+
+gstreamer0.10 (0.10.19-3) unstable; urgency=low
+
+  * debian/patches/06_binary-registry-checksum.patch:
+    + Patch from upstream CVS to include a CRC32 checksum for the registry
+      data to make sure it's not corrupted. Also plug a memory leak in error
+      cases.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 16 Apr 2008 23:01:20 +0200
+
+gstreamer0.10 (0.10.19-2) unstable; urgency=medium
+
+  * debian/control.in:
+    + Require bison >= 1.875 as per configure.ac.
+  * debian/patches/05_binary-registry-empty-uri-schemes-corruption.patch:
+    + Patch from upstream CVS to not corrupt the registry if a plugin gives
+      a valid pointer for the supported URI schemes list but this contains
+      no URI schemes. Also don't unref a variable from which we don't own
+      the reference and improve debugging (Closes: #475735). Set urgency to
+      medium because this closes an RC bug.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 16 Apr 2008 15:18:24 +0200
+
+gstreamer0.10 (0.10.19-1) unstable; urgency=high
+
+  * New upstream bugfix release, "Me Again":
+    + debian/patches/05_fdsrc-fdsink-eagain.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 07 Apr 2008 11:31:15 +0200
+
+gstreamer0.10 (0.10.18-4) unstable; urgency=low
+
+  * debian/patches/05_fdsrc-fdsink-eagain.patch:
+    + Retry when we get EAGAIN. Fixes the totem mozilla plugin to actually
+      work again.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 25 Mar 2008 09:05:01 +0100
+
+gstreamer0.10 (0.10.18-3) unstable; urgency=low
+
+  * debian/patches/04_binary-registry-alignment.patch:
+    + Fix alignment of the binary registry on 64 bit architectures
+      and whitelist amd64 for unaligned access too.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 23 Mar 2008 12:23:21 +0100
+
+gstreamer0.10 (0.10.18-2) unstable; urgency=low
+
+  * debian/rules:
+    + Start using the binary registry instead of the XML registry. This has
+      the advantage of being much faster (especially startup of applications
+      will be faster) and lower memory usage.
+  * debian/patches/03_binary-registry-version.patch:
+    + Patch from upstream CVS to use a sane value for the binary registry
+      format version and not print an error when there is a version mismatch.
+      Instead silently recreate the registry.
+  * debian/libgstreamer.symbols:
+    + Update for the binary registry. These symbols are private ones and
+      should in theory not be exported at all.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 22 Mar 2008 22:46:31 +0100
+
+gstreamer0.10 (0.10.18-1) unstable; urgency=low
+
+  * New upstream release, "So far away":
+    + debian/libgstreamer.symbols:
+      - Updated for the new version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 21 Mar 2008 01:12:34 +0100
+
+gstreamer0.10 (0.10.17.4-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer0.10-0.symbols:
+      - Update symbols for 0.10.17.4.
+    + debian/rules:
+      - Use file versionize magic to get the correct filename for the
+        symbols file.
+    + debian/patches/02_werror.patch:
+      - Don't build with -Werror.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 18 Mar 2008 13:28:59 +0100
+
+gstreamer0.10 (0.10.17.3-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer0.10-0.symbols:
+      - Updated.
+  * debian/patches/75_build_docs_without_python_xml.patch,
+    debian/control.in:
+    + Stop using pyxml for building the docs (Closes: #468627).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 11 Mar 2008 04:47:48 +0100
+
+gstreamer0.10 (0.10.17.2-2) experimental; urgency=low
+
+  * debian/patches/80_ia32-hack.patch:
+    + Updated to build without warnings on other architectures than i386.
+      Fixes FTBFS as we use -Werror for pre-releases.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 05 Mar 2008 06:50:43 +0100
+
+gstreamer0.10 (0.10.17.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/libgstreamer0.10-0.symbols:
+      - Updated for the new version.
+  * debian/libgstreamer.{post*,pre*},
+    debian/libgstreamer.dirs,
+    debian/rules:
+    + Don't use non-existing configure parameters and for 0.10 we don't need
+      a cache dir anymore, so let's not create one and remove it with
+      maintainer scripts on remove.
+  * debian/control.in:
+    + Add Homepage field.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 04 Mar 2008 11:36:42 +0100
+
+gstreamer0.10 (0.10.17-2) unstable; urgency=low
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/rules:
+    - Decide the package name and url depending on the distribution.
+  * debian/control.in:
+    - Build-Depend on lsb-release.
+    - Add a Conflicts for libgstreamer-plugins-base0.10-0 <<
+      0.10.11cvs20070110-0ubuntu5 to keep the Ubuntu delta lower.
+
+  [ Sebastian Dröge ]
+  * debian/patches/99_ltmain_as-needed.patch,
+    debian/rules:
+    + Add -Wl,-z,defs -Wl,-O1 -Wl,--as-needed to LDFLAGS to remove some
+      unnecessary dependencies on various packages.
+  * debian/libgstreamer0.10-0.symbols:
+    + Add new symbol added by using flex 2.3.34.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 19 Feb 2008 08:09:34 +0100
+
+gstreamer0.10 (0.10.17-1) unstable; urgency=low
+
+  * New upstream bugfix-only release, "Due Negligence".
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 30 Jan 2008 16:05:58 +0100
+
+gstreamer0.10 (0.10.16-1) unstable; urgency=low
+
+  * New upstream release, "Special Dispensation", with API additions:
+    + debian/libgstreamer0.10-0.symbols:
+      - Updated symbols for 0.10.16.
+  * debian/patches/80_ia32-hack.patch:
+     + Set the plugin dir to /usr/lib32/gstreamer-0.10, when running the
+       i386 binaries on amd64. Patch taken from the Ubuntu package, originally
+       created by Matthias Klose.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 29 Jan 2008 10:34:54 +0100
+
+gstreamer0.10 (0.10.15.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/libgstreamer0.10-0.symbols,
+    debian/control.in:
+    + Add a symbols file for the GStreamer core libraries, generated from all
+      0.10 releases since 0.10.0. Build depend on dpkg-dev >= 1.14.13 for
+      this.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 22 Jan 2008 13:20:05 +0100
+
+gstreamer0.10 (0.10.15.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 18 Jan 2008 05:56:07 +0100
+
+gstreamer0.10 (0.10.15.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/02_basesink-event-forwarding.patch,
+      debian/patches/03_filesink-seek-failure.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 15 Jan 2008 15:14:45 +0100
+
+gstreamer0.10 (0.10.15-4) unstable; urgency=low
+
+  * debian/dh_gstscancodecs:
+    + Fix typo: extention->extension.
+  * debian/patches/01_wrapper-plugins.patch:
+    + Update to also handle the ffmpeg plugin and rebuild the registry
+      if libavcodec and friends change.
+  * debian/control.in:
+    + Update Standards-Version to 3.7.3, no additional changes needed.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 15 Jan 2008 15:11:26 +0100
+
+gstreamer0.10 (0.10.15-3) unstable; urgency=low
+
+  * debian/rules:
+    + Don't make the build fail if the testsuite fails.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 28 Nov 2007 10:38:37 +0100
+
+gstreamer0.10 (0.10.15-2) unstable; urgency=low
+
+  * debian/patches/02_basesink-event-forwarding.patch:
+    + Only forward upstream events upstream. This prevents some useless
+      warnings. Patch taken from upstream CVS.
+  * debian/patches/03_filesink-seek-failure.patch:
+    + Only try to seek if it is really necessary in filesink. This fixes
+      filesink on a FIFO. Patch taken from upstream CVS.
+  * debian/rules:
+    + Enable test suite.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 28 Nov 2007 09:04:03 +0100
+
+gstreamer0.10 (0.10.15-1) unstable; urgency=low
+
+  * New upstream release, "October", with API additions:
+    + Fixes FTBFS if built twice in a row (Closes: #424386).
+  * debian/control.in:
+    + Only suggest the docs package instead of recommending (Closes: #436667).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 13 Nov 2007 14:42:33 +0100
+
+gstreamer0.10 (0.10.14-2) unstable; urgency=low
+
+  * debian/control.in:
+    + Let the -dev package depend on check as some headers include check.h.
+      check is no dependency of the libs package because it's linked
+      statically.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 08 Sep 2007 21:38:18 +0200
+
+gstreamer0.10 (0.10.14-1) unstable; urgency=low
+
+  * New upstream release 'Breathing Vacuum', with API additions.
+  * debian/control.in:
+    + Use ${binary:Version} and ${source:Version} instead of ${Source-Version}
+      to make lintian happy.
+  * debian/gstreamer-tools.install,
+    debian/dh_gstscancodecs:
+    + Add debhelper script for extracting GStreamer codec informations. This
+      will be used for semi-automatic codec installation.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 03 Aug 2007 17:30:01 +0200
+
+gstreamer0.10 (0.10.13-2) unstable; urgency=low
+
+  * debian/patches/01_wrapper-plugins.patch:
+    + Add hacks for gnomevfs, ladspa and libvisual plugin to have the registry
+      rebuild if the plugins of them change. This for example lets GStreamer
+      recognize if new gnomevfs methods are installed after the gnomevfs
+      plugin is installed. (Closes: #426694)
+      This is a temporary workaround until the upstream bug is fixed:
+      http://bugzilla.gnome.org/show_bug.cgi?id=350477
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 10 Jun 2007 12:38:27 +0200
+
+gstreamer0.10 (0.10.13-1) unstable; urgency=low
+
+  * New upstream release with API additions, "With or without you".
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 05 Jun 2007 17:01:07 +0200
+
+gstreamer0.10 (0.10.12.1+cvs20070529-1) unstable; urgency=low
+
+  * Prepare CVS snapshot
+  * debian/patches/01_yacc-reentrant.patch
+    debian/patches/02_filesrc_no_location.patch
+    debian/patches/03_system_clock_wait_jitter_block.patch:
+    + All dropped, fixed upstream.
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Tue, 29 May 2007 09:00:41 +0200
+
+gstreamer0.10 (0.10.12-5) unstable; urgency=low
+
+  * debian/patches/03_system_clock_wait_jitter_block.patch:
+    + Patch from upstream CVS. Make the GstSystemCLock wait_jitter
+    implementation  really block untill a timeout occurs instead of returning
+    when the first entries_changed condition occurs. Fixes problems with
+    farsight.
+  * Add myself to Uploaders.
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Thu, 03 May 2007 20:48:30 +0200
+
+gstreamer0.10 (0.10.12-4) unstable; urgency=low
+
+  * debian/patches/02_filesrc_no_location.patch:
+    + Patch from upstream CVS to also allow "file://" as URI. This is used
+      by some applications, like quodlibet, to check if there's an element
+      that handles the file protocol. (Closes: #421167)
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 27 Apr 2007 09:28:53 +0200
+
+gstreamer0.10 (0.10.12-3) unstable; urgency=low
+
+  * Upload to unstable
+  * Merged experimental branch:
+    + New upstream release 0.10.12, "Inevitable Demise":
+      - Fixes typo in manual (Closes: #408516)
+    + New upstream release 0.10.11, "Love never runs on time":
+      - debian/patches/10_assertion-failure-on-signal-full-when-empty.patch:
+        . Dropped, merged upstream
+      - debian/patches/70_relibtoolize.patch:
+        . Dropped, upstream used Debian's libtool
+    + Add common/gst.supp to libgstreamer-dbg.docs for valgrind suppressions.
+      (Loic Minier)
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon,  9 Apr 2007 23:22:34 +0200
+
+gstreamer0.10 (0.10.10-4) unstable; urgency=low
+
+  * debian/patches/01_yacc-reentrant.patch,
+    debian/control.in:
+    + Make gst_parse_launch reentrant. This fixes a crash in gaim. Also update
+      flex build-dependency to >= 2.5.31 for this.
+      Patch with some changes taken from:
+      http://bugzilla.gnome.org/show_bug.cgi?id=349180
+      (Closes: #404637, #403343, #400602)
+  * debian/control.in:
+    + Update to use my debian.org address
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 18 Mar 2007 22:50:59 +0100
+
+gstreamer0.10 (0.10.10-3) unstable; urgency=low
+
+  * Rename 10_dont-leak-buffer-on-emptied-queue to
+    10_assertion-failure-on-signal-full-when-empty, what the patch fixes is
+    really an assertion failure which happens when the queue is empty at the
+    moment where the "queue full" signal is processed.
+  * Fix typo in control, "versionned" -> "versioned"; thanks J S Bygott;
+    closes: #408931.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 29 Jan 2007 13:35:23 +0100
+
+gstreamer0.10 (0.10.10-2) unstable; urgency=low
+
+  * New patch, 10_dont-leak-buffer-on-emptied-queue, to avoid leaking a buffer
+    when a queue is emptied while sending out a signal.
+
+ -- Loic Minier <lool@dooz.org>  Fri, 13 Oct 2006 11:04:59 +0200
+
+gstreamer0.10 (0.10.10-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "Pais", some additional API
+  * debian/patches/70_relibtoolize.patch:
+    + updated for new upstream version
+
+  [ Loic Minier ]
+  * Drop the versionned Recommends which will break with binNMUs.
+  * Fix duplicate dependencies.
+
+ -- Loic Minier <lool@dooz.org>  Fri, 15 Sep 2006 15:05:55 +0200
+
+gstreamer0.10 (0.10.9-2) unstable; urgency=low
+
+  [ Loic Minier ]
+  * Update control.
+
+  [ Sebastian Dröge ]
+  * debian/rules,
+    debian/control.in:
+    + Add a -dbg package for libgstreamer0.10-0 and add me to Uploaders
+  * debian/compat,
+    debian/control.in:
+    + Bump debhelper compat level to 5
+
+  [ Loic Minier ]
+  * Build-depend on python-twisted-core instead of python-twisted, thanks
+    Matthias Klose. (Closes: #385428)
+  * Don't build the doc on arm and m68k.  It's painfully long, and -- at least
+    on arm -- it segfaults; this is to lower the impact of #383147.
+
+ -- Loic Minier <lool@dooz.org>  Thu, 31 Aug 2006 11:48:25 +0200
+
+gstreamer0.10 (0.10.9-1) unstable; urgency=low
+
+  * Clean up Build-Depends-Indep of packages already referenced in
+    Build-Depends.
+  * New upstream release, "On the road again", no API changes.
+    - Drop 10_no-registry-file-fallback patch, merged upstream.
+    - Update 70_relibtoolize patch.
+
+ -- Loic Minier <lool@dooz.org>  Fri, 14 Jul 2006 23:14:30 +0200
+
+gstreamer0.10 (0.10.8-2) unstable; urgency=low
+
+  * Update 70_relibtoolize to not ship config.guess and config.sub already
+    updated by CDBS.
+  * New patch, 10_no-registry-file-fallback.patch from upstream CVS to re-read
+    the registry when the forked child fails to write it for example because
+    the home dir isn't writable; see discussion in GNOME #344748.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 13 Jun 2006 18:42:06 +0200
+
+gstreamer0.10 (0.10.8-1) unstable; urgency=low
+
+  * New upstream releases with API additions, "Soepeke, ik zie ou nog altijd
+    nie".
+    - New patch, 70_relibtoolize, ditto.
+    - Drop 10_accept-empty-strings-in-registry patch, included upstream.
+
+ -- Loic Minier <lool@dooz.org>  Sun, 11 Jun 2006 14:38:05 +0200
+
+gstreamer0.10 (0.10.6-2) unstable; urgency=low
+
+  * Bump up Standards-Version to 3.7.2.
+    [debian/control, debian/control.in]
+  * New patch from upstream to let the registry handle empty strings,
+    especially important because of a bug in a m4 macro which lets the name of
+    official GStreamer packages empty if you use --with-package-name as is the
+    case in Debian.
+    [debian/patches/10_accept-empty-strings-in-registry.patch]
+  * Export OIL_CPU_FLAGS=0 for commands launched during the build process as
+    it can cause build failures on buildds with specific hardware at build
+    time.
+    [debian/rules]
+
+ -- Loic Minier <lool@dooz.org>  Wed, 17 May 2006 18:49:42 +0200
+
+gstreamer0.10 (0.10.6-1) unstable; urgency=low
+
+  * New upstream release, "Take the cannoli", with API additions.
+    - Bump up inter-dependencies to 0.10.6.
+      [debian/control]
+    - Bump up libglib2.0-dev build-dep to >= 2.8.
+      [debian/control, debian/control.in]
+    - Drop relibtoolizing patch as this release was libtoolized under Debian
+      or a derivative.
+      [debian/patches/70_relibtoolize.patch]
+
+ -- Loic Minier <lool@dooz.org>  Sun, 14 May 2006 21:36:26 +0200
+
+gstreamer0.10 (0.10.5-1) unstable; urgency=low
+
+  * New upstream release, "Fogo".
+    - Force debian/control rebuild, a debian/changelog Makefile dep wouldn't
+      be wise.
+      [debian/control]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 29 Apr 2006 12:04:39 +0200
+
+gstreamer0.10 (0.10.4.2-1) unstable; urgency=low
+
+  * New upstream pre-release, with API additions.
+    - Drop patch for the check libraries in pkg-config files (merged
+      upstream).
+      [debian/patches/11_libcheck-pkgconfig-force-pic.patch]
+    - Relibtoolize.
+      [debian/patches/70_relibtoolize.patch]
+    - Drop all references to the gst-md5sum utility (removed upstream).
+      [debian/gstreamer-tools-abi.install, debian/gstreamer-tools.install,
+       debian/gstreamer-tools-abi.manpages]
+
+ -- Loic Minier <lool@dooz.org>  Mon, 17 Apr 2006 23:19:50 +0200
+
+gstreamer0.10 (0.10.4-1) unstable; urgency=low
+
+  * New upstream release, "Light".
+
+ -- Loic Minier <lool@dooz.org>  Sat, 11 Mar 2006 09:55:26 +0100
+
+gstreamer0.10 (0.10.3.2-1) unstable; urgency=low
+
+  * New upstream pre-release, with API additions.
+    - Backward incompatible change: removes support for quoted strings and
+      mimetypes when writing filtered caps.
+    - Drop patch for force linking against the PIC version of libcheck since
+      upstream implemented a better fix.
+      [debian/patches/10_libcheck-macro-force-pic.patch]
+    - Relibtoolize.
+      [debian/patches/70_relibtoolize.patch]
+  * Use upstream descriptions for packages descriptions.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Fri, 10 Mar 2006 10:43:57 +0100
+
+gstreamer0.10 (0.10.3-1) unstable; urgency=low
+
+  * New upstream release, "Like a virgin".
+
+ -- Loic Minier <lool@dooz.org>  Wed,  8 Feb 2006 20:49:29 +0100
+
+gstreamer0.10 (0.10.2.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Loic Minier <lool@dooz.org>  Wed,  8 Feb 2006 17:13:14 +0100
+
+gstreamer0.10 (0.10.2.2-1) unstable; urgency=low
+
+  * New upstream pre-release.
+    - Relibtoolize.
+      [debian/patches/70_relibtoolize.patch]
+
+ -- Loic Minier <lool@dooz.org>  Wed,  8 Feb 2006 16:08:38 +0100
+
+gstreamer0.10 (0.10.2-1) unstable; urgency=low
+
+  * New upstream release, "If man is 5".
+
+ -- Loic Minier <lool@dooz.org>  Mon, 16 Jan 2006 21:42:56 +0100
+
+gstreamer0.10 (0.10.1-2) unstable; urgency=low
+
+  * Drop unneeded passivetex and xmltex from the build-deps, thanks Frank
+    Küster; this is urgent since xmltex is RC-buggy. (Closes: #348214)
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Sun, 15 Jan 2006 19:40:59 +0100
+
+gstreamer0.10 (0.10.1-1) unstable; urgency=low
+
+  * Suggest gstreamer0.10-plugins-base instead of misc. (Closes: #345118)
+    [debian/control, debian/control.in]
+  * Add Sebastien Bacher to Uploaders.
+    [debian/control, debian/control.in]
+  * Replace occurrences of GST_PREFIX in GST_PKGNAME since they hold the same
+    value and GST_PREFIX isn't used in the other source packages.
+    [debian/control.in, debian/gstreamer-doc.install,
+     debian/gstreamer-doc.links, debian/gstreamer-doc.lintian, debian/rules]
+  * New upstream release.
+  * Force linking against libcheck_pic instead of libcheck.  Warning: to use
+    this patch you need to relibtoolize afterwards or patch configure too.
+    [debian/patches/10_libcheck-macro-force-pic.patch]
+  * Advertise this in pkgconfig files.
+    [debian/patches/11_libcheck-pkgconfig-force-pic.patch]
+  * Relibtoolize.
+    [debian/patches/70_relibtoolize.patch]
+  * Move check to arch-dependent build-deps and version to >= 0.9.3-2 to get a
+    PIC version of the static lib.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Tue,  3 Jan 2006 22:28:37 +0100
+
+gstreamer0.10 (0.10.0-1) unstable; urgency=medium
+
+  [ Sebastien Bacher ]
+  * New upstream version.
+  * Changes for gstreamer0.10:
+    - Rename 0.8 packages to 0.10. [debian/rules]
+    - Build-Depends on check, python-twisted, python-xml [debian/control.in]
+    - Bump shlibs deps for 0.10. [debian/rules]
+    - Create a cache directory [debian/libgstreamer.dirs, debian/rules]
+    - Don't use alternatives [debian/gstreamer-tools-abi.postinst,.
+      debian/gstreamer-tools-abi.prerm]
+    - Drop references to deprecated tools [debian/gstreamer-tools-abi.install,.
+      debian/gstreamer-tools-abi.manpages,debian/gstreamer-tools-abi.postinst,.
+      debian/gstreamer-tools-abi.prerm, debian/libgstreamer.install,.
+      debian/libgstreamer.manpages, debian/libgstreamer.postinst, debian/rules]
+    - New gstreamer-tools (unversionned binaries) package
+      [debian/control.in, debian/gstreamer-tools.install, debian/rules].
+    - Remove transition code. [debian/libgstreamer.preinst]
+    - Rename documentation lists. [debian/gstreamer0.8-doc.doc-base.core-ref,
+      debian/gstreamer0.8-doc.doc-base.faq,
+      debian/gstreamer0.8-doc.doc-base.libs-ref,
+      debian/gstreamer0.8-doc.doc-base.manual,
+      debian/gstreamer0.8-doc.doc-base.pwg]
+    - Updated descriptions [debian/control.in]
+    - Updated lists of files. [debian/libgstreamer.install
+      debian/gstreamer-tools-abi.install debian/libgstreamer-dev.install]
+    - Updated options for the documentation build [debian/rules]
+    - Updated the TODO list [debian/TODO]
+  * debian/patches/64_sparc-gcc4-build-fix.patch,
+    debian/patches/doc-build.patch:
+    - fixed with the new version.
+
+  [ Loic Minier ]
+  * Merge changes from Sebastien Bacher, thanks!
+  * Update upstream URL to http://gstreamer.freedesktop.org/.
+    [debian/control, debian/control.in, debian/copyright]
+  * Minor cleanups.
+    [debian/rules]
+  * Let gstreamer-tools conflict with gstreamer0.8-tools << 0.8.11-2 which
+    shipped the gst-* command line tools as symlinks.
+    [debian/control, debian/control.in]
+  * Add gst-xmlinspect to man pages.
+    [debian/gstreamer-tools-abi.manpages]
+
+ -- Loic Minier <lool@dooz.org>  Sun, 11 Dec 2005 20:57:56 +0100
+
+gstreamer0.8 (0.8.11-2) unstable; urgency=low
+
+  [ Sebastien Bacher ]
+  * Clean the alternatives, we use real files now
+    [debian/gstreamer-tools.postinst, debian/gstreamer-tools.preinst,
+    debian/gstreamer-tools.prerm]
+
+  [ Loic Minier ]
+  * Merge the work of Sebastien Bacher (above), thanks!
+  * Completely drop the now obsolete prerm and postinst scripts.
+    [debian/gstreamer-tools.postinst, debian/gstreamer-tools.preinst,
+    debian/rules]
+  * With this upload, you will loose the gst-* commands such as gst-launch,
+    only the versionned version will remain, the unversionned tools will be
+    built and shipped from the 0.10 series sources.
+
+ -- Loic Minier <lool@dooz.org>  Sun, 11 Dec 2005 18:55:40 +0100
+
+gstreamer0.8 (0.8.11-1) unstable; urgency=low
+
+  * New upstream release, "No Fun".
+    - Bump libxml2-dev build-dep to 2.6.0.
+  * Update FSF address. [debian/copyright]
+  * Fix FTBFS with GCC 4 in a code path only built by sparc (but unused).
+    (Closes: #319147) [debian/patches/64_sparc-gcc4-build-fix.patch]
+  * Bump shlibs.
+
+ -- Loic Minier <lool@dooz.org>  Sun,  4 Sep 2005 22:20:20 +0200
+
+gstreamer0.8 (0.8.10-2) unstable; urgency=low
+
+  * Loic Minier:
+    * Install alternatives for the gst-* binaries with a priority
+      corresponding to the GStreamer ABI. (Closes:  #265223) [debian/rules,
+      debian/gstreamer-tools.prerm, debian/gstreamer-tools.postinst]
+    * Call gst-register and gst-compprep with GST_REGISTRY in their
+      environment to override the default behavior of writing to
+      /root/.gstreamer-0.8, waiting for an upstream fix. (Closes: #301190)
+      [debian/libgstreamer.postinst, debian/TODO.Debian]
+    * Remove /var/lib/gstreamer if empty.
+      [debian/libgstreamer.postrm]
+    * Remove left over /root/.gstreamer-0.8 tree if it hasn't been modified.
+      [debian/libgstreamer.preinst, debian/rules]
+    * Add a versioned dependency with >= current-upstream-version to all
+      current shlibs inter-dependencies to ensure consistency of symbols to
+      avoid things such as #315556.
+      [debian/control, debian/control.in, debian/rules]
+    * Set Maintainer to group. [debian/control, debian/control.in]
+    * Bump Standards-Version to 3.6.2, no change needed.
+      [debian/control, debian/control.in]
+    * Add a TODO list for the Debian package. [debian/TODO.Debian]
+
+ -- Loic Minier <lool@dooz.org>  Mon, 27 Jun 2005 16:21:55 +0200
+
+gstreamer0.8 (0.8.10-1) unstable; urgency=low
+
+  * Loic Minier:
+    * New upstream release "No Fun". (Closes: #312355)
+      - Don't drop buffers on interrupt, fixes reported problems on MP3
+        playback. (Closes: #303139)
+      - Fix a typo in the gst-launch manual page where "--silent" was used
+        instead of "--verbose". (Closes: #292267)
+      - Bump shlibs to current version since new elements were added.
+        [debian/rules]
+      - Drop CPUID instruction detection patch, upstream used a SIGILL handler
+        instead. [debian/patches/cpuid.patch]
+    * Add myself as uploader.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 14 Jun 2005 21:49:55 +0200
+
+gstreamer0.8 (0.8.9-2) unstable; urgency=low
+
+  * debian/patches/cpuid.patch:
+    * Patch from upstream to check for cpuid support (Closes: #289362)
+  * debian/watch:
+    * Watch for gstreamer not gst-plugins
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 16 Mar 2005 01:17:29 -0500
+
+gstreamer0.8 (0.8.9-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Bump shlibs to current version
+  * debian/patches/doc-build.patch:
+    * Update and refer to bug #286160
+  * debian/watch:
+    * Add
+  * debian/gstreamer0.8-doc.doc-base.*
+    * Register docs with doc-base (Closes: #293871)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  9 Feb 2005 10:24:16 -0500
+
+gstreamer0.8 (0.8.8-1) unstable; urgency=low
+
+  * New upstream
+    * Fixes Ogg stream bug (Closes: #273086)
+    * Fixes mp3 infinite loop (Closes: #277650)
+  * debian/rules:
+    * Bump shlibs to current version
+  * debian/rules:
+    * Distribute NEWS (Closes: #275717)
+  * Should fix Rhythmbox image and cpu problems
+    (Closes: #277146, #278661, #278663, #278656, #281426, #284507, #288102)
+
+ -- David I. Lehn <dlehn@debian.org>  Fri,  7 Jan 2005 01:44:26 -0500
+
+gstreamer0.8 (0.8.7-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Bump shlibs to current version
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  6 Oct 2004 14:25:15 -0400
+
+gstreamer0.8 (0.8.6-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Bump shlibs to current version
+    * Use debian/control:: vs debian/control: to work with recent CDBS changes
+    * Use CDBS simple-patchsys
+  * docs/pwg/advanced-types.xml:
+    * Remove patch
+  * debian/patches/doc-build.patch:
+    * Add goofy doc patch
+
+ -- David I. Lehn <dlehn@debian.org>  Tue,  5 Oct 2004 13:15:06 -0400
+
+gstreamer0.8 (0.8.5-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Bump shlibs to current version
+
+ -- David I. Lehn <dlehn@debian.org>  Tue, 17 Aug 2004 23:06:54 -0400
+
+gstreamer0.8 (0.8.4-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Bump shlibs version
+  * gst/queue.h:
+    * Fix GstQueue binary compatibility (patch from upstream CVS)
+  * libs/gst/control/Makefile.{am,in}:
+    * Link libgstcontrol to libgstreamer (patch from upstream CVS)
+      (Closes: #262019)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 29 Jul 2004 15:07:20 -0400
+
+gstreamer0.8 (0.8.3-3) unstable; urgency=low
+
+  * debian/rules:
+    * Typo, s/DEB_MAKESHLIBS_ARGS_/DEB_DH_MAKESHLIBS_ARGS_/, broke versioned
+      shlibs
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 30 Jun 2004 17:11:13 -0400
+
+gstreamer0.8 (0.8.3-2) unstable; urgency=medium
+
+  * debian/libgstreamer.install, debian/libgstreamer-dev.install:
+    * Include dataprotocol library and development files
+  * debian/rules:
+    * Bump shlibs dep to 0.8.3-2 due to dataprotocol
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 23 Jun 2004 17:49:23 -0400
+
+gstreamer0.8 (0.8.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 12 Jun 2004 00:05:23 -0400
+
+gstreamer0.8 (0.8.2-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 12 Jun 2004 00:01:21 -0400
+
+gstreamer0.8 (0.8.1-2) unstable; urgency=low
+
+  * debain/rules:
+    * Convert to use CDBS
+      * Fixes rpath and .la libdir problems from previous builds
+      * Always builds the docs even on -arch builds, sorry
+  * debian/compat:
+    * Bump to 4
+  * debian/control.in:
+    * Update Standards-Version to 3.6.1 due to CDBS use
+    * Add CDBS and newer debhelper dependencies
+  * debian/*:
+    * Adjust install paths to work with CDBS
+
+ -- David I. Lehn <dlehn@debian.org>  Sun, 18 Apr 2004 22:21:30 -0400
+
+gstreamer0.8 (0.8.1-1) unstable; urgency=low
+
+  * New upstream
+  * New schedulers:
+  * debian/libgstreamer.install:
+    * Add libgstentrygthreadscheduler.so
+    * Add libgstentryomegascheduler.so
+  * docs/gst/Makefile.{in,am}:
+    * Patch from CVS to fix docs build
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 17 Apr 2004 19:47:18 -0400
+
+gstreamer0.8 (0.8.0-2) unstable; urgency=low
+
+  * Bump to -2 to ease upgrades for early -1 testers
+  * gstreamer-tools.links:
+    * Link gst-xmlinspect manpage to gst-inspect
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 16 Apr 2004 00:52:46 -0400
+
+gstreamer0.8 (0.8.0-1) unstable; urgency=low
+
+  * New upstream (Closes: #239114)
+    * Branch 0.7.x to 0.8.x
+  * debian/control.in:
+    * Version all packages as 0.8 series
+  * debian/rules:
+    * Update to 0.8
+    * Build 0.8 series package control files
+    * Remove older hacks fixed upstream
+  * debian/*:
+    * Reorg many control files for 0.8 versioning
+    * s/--gst-mask=0/--gst-debug-level=0/
+    * Remove "VERSION" from input package file names
+  * debian/libgstreamer[-dev].install:
+    * Plugins removed upstream: gsttypes, gststaticautoplug*,
+      gstautoplugcache, gstautoplugger, gstputbits, gststaticautoplug,
+      gststaticautoplugrender, gsttypes
+    * Add locale files
+  * debian/gstreamer-tools.install:
+    * Add gst-xmlinspect-*
+  * Upstream installs versioned manpages (Closes: #199444)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 14 Apr 2004 16:08:50 -0400
+
+gstreamer0.7 (0.7.6-1) unstable; urgency=low
+
+  * New upstream
+  * debian/control.in:
+    * Build-Depends-Indep: add netpbm so ps and pdf docs build
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 12 Mar 2004 18:30:54 -0500
+
+gstreamer0.7 (0.7.5-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 11 Mar 2004 23:30:32 -0500
+
+gstreamer0.7 (0.7.4-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 11 Mar 2004 23:11:58 -0500
+
+gstreamer0.7 (0.7.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 11 Mar 2004 05:54:52 -0500
+
+gstreamer0.7 (0.7.1-1) unstable; urgency=low
+
+  * New upstream
+    * Branch 0.6.x to 0.7.x
+  * debian/rules:
+    * Update to 0.7
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 11 Mar 2004 04:58:40 -0500
+
+gstreamer (0.6.4-1) unstable; urgency=low
+
+  * New upstream (Closes: #217880)
+  * Add xmlto, xmltex, and passivetex dependencies for doc creation
+  * debian/rules: adjust for new doc locations
+  * docs/{manual,pwg,faq}/Makefile.in: temporary hack to disable ps/pdf
+    generation
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 31 Oct 2003 14:08:46 -0500
+
+gstreamer (0.6.3-1) unstable; urgency=low
+
+  * New upstream
+  * configure, configure.ac:
+    * disable -Werror
+  * gst/gstplugin.c: CVS patch to fix type punning
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 30 Aug 2003 23:20:43 -0400
+
+gstreamer (0.6.2-2) unstable; urgency=low
+
+  * m68k patch by Matthias Urlichs <smurf@smurf.noris.de> (forwarded from Rick
+    Younie <rick@def.debian.net>) (Closes: #172269)
+
+ -- David I. Lehn <dlehn@debian.org>  Tue, 12 Aug 2003 13:24:12 -0400
+
+gstreamer (0.6.2-1) unstable; urgency=low
+
+  * New upstream
+  * debian/gstreamer-tools.install/manpages: add gst-typefind
+  * docs/gst/: change www.oasis-open.org dtd to local dtd
+  * docs/libs/: use some code from cdbs to change dtd in gtk-doc tools output
+    to local dtd
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 11 Jun 2003 10:36:17 -0400
+
+gstreamer (0.6.1-2) unstable; urgency=low
+
+  * (unreleased)
+  * Merge packages:
+    * Simplify for users, developers, and maintainers.
+    * Current number of packages is confusing.
+    * Users/developers need to install all the packages anyway due to tight
+      (circular) dependencies.
+    * The libraries and plugins are all versioned - no need (currently) for a
+      "-common" type package.
+    * Progress towards capability for parallel GStreamer installs (more work
+      needed).
+    * Decision long ago to make very modular has turned out to be complex and
+      is not utilized by any current applications.
+  * Merge changes:
+    * Add -core, -core-libs, -runtime files to libgstreamer0.6-0
+    * Add -core-libs-dev files to libgstreaer0.6-dev
+    * Version gst-{register,compprep} (and manpages) as
+      gst-{register,compprep}-0.6
+    * Many other supporting debian/ adjustments
+  * Remove DISPLAY unset hacks from postinst/postrm scripts and fix non-X
+    installs with 0.6.2 CVS xvideosink patch in gst-plugins.
+    (Closes: #192693, #195342, #169100, #195113, #194975)
+  * docs/devhelp/Makefile.*: stop regeneration of devhelp files during install
+  * gst/elements/gstmd5sink.c: make md5_* functions static to avoid symbol
+    conflicts with libdvdnav 0.1.9
+  * Fix gstreamer-doc Recommends: to use versioned -dev package
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  5 Jun 2003 19:11:39 -0400
+
+gstreamer (0.6.1-1) unstable; urgency=low
+
+  * New upstream
+  * Change maintainer address to @debian.org
+  * Added gst-element-check.m4 to -dev package (Closes: Bug#187456)
+  * debian/control.in:
+    * gstreamer-tools: gst-feedback depends on pkg-config (Closes: Bug#180076)
+    * libgstreamer0.6-dev depends on libxml2-dev (Closes: Bug#190103)
+    * gstreamer-runtime depends on gstreamer-core.  Sigh.  Didn't want to do
+      this but looks like no other option. (Closes: Bug#181502, Bug#181745,
+      Bug#185817)
+  * gst/gstatomic_impl.h: disable mips asm in favor of generic implementation
+    (sparc disabled upstream) (Closes: Bug#186440)
+  * Upstream now linking libraries properly (Closes: Bug#187360)
+  * Patch from 0.6.1+ to add back _get_props_entry_type
+  * Unset DISPLAY before running gst-register/gst-compprep
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  3 May 2003 16:52:53 -0400
+
+gstreamer (0.6.0-1) unstable; urgency=low
+
+  * New upstream
+  * Upstream manpage updates (Closes: Bug#179190)
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat,  1 Feb 2003 21:32:17 -0500
+
+gstreamer (0.5.2.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 30 Jan 2003 23:26:10 -0500
+
+gstreamer (0.5.2.2-1) unstable; urgency=low
+
+  * New upstream
+    * pre-release for API frozen 0.6.x series
+  * Slight pacakge refactoring so a possible future parallel dev series is
+    slightly less painful
+  * Update libgstreamer-dev to libgstreamer0.6-dev
+  * Update libgstreamer0.5.2 to libgstreamer0.6-0
+  * debian/libgstreamer0.6-dev.install:
+    * explicitly mention gstreamer-[0-9]*.pc
+  * debian/gstreamer-core-libs-dev.install:
+    * add gstreamer-control-*.pc
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 29 Jan 2003 13:42:01 -0500
+
+gstreamer (0.5.2-1) unstable; urgency=low
+
+  * New upstream
+  * Update libgstreamer0.5.1 to libgstreamer0.5.2
+  * Upstream fixes Python requirement when not building docs
+    (Closes: Bug#178114)
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 23 Jan 2003 20:15:24 -0500
+
+gstreamer (0.5.1-1) unstable; urgency=low
+
+  * New upstream (Closes: Bug#176474)
+  * Update libgstreamer0.5.0 to libgstreamer0.5.1
+  * Tighten gstreamer-core-libs shlibs (Closes: Bug#174363)
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 16 Jan 2003 18:46:41 -0500
+
+gstreamer (0.5.0-1) unstable; urgency=low
+
+  * New upstream
+  * Make core Architecture: any:  It's almost true, or might be now, or will
+    be soon and autobuilders are ignoring that field anyway.
+  * Generated files moved from /etc/gstreamer to /var/lib/gstreamer/0.5/
+  * Update libgstreamer0.4.2 to libgstreamer0.5.0
+  * Hack gst/autoplug/gstautoplugger.c to not use the non-existant
+    "caps_changed" signal
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 19 Dec 2002 20:43:26 -0500
+
+gstreamer (0.4.2-2) unstable; urgency=low
+
+  * Update gtk-doc.m4 with CVS patch to handle multidigit version check
+  * Add S/390 support patch (Closes: Bug#171473)
+  * Update config.{guess,sub}
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue,  3 Dec 2002 22:22:22 -0500
+
+gstreamer (0.4.2-1) unstable; urgency=low
+
+  * New upstream (Closes: Bug#167479)
+  * Update libgstreamer0.4.1 to libgstreamer0.4.2
+  * libgstreamer0.4.2 conflicts with 0.4.0, 0.4.1
+    * Upstream needs more work to properly support parallel lib installs
+  * Tighten dependencies
+    * Upstream ABI/API changes require this for any hope of smooth upgrades at
+      the moment
+  * Move gstreamer-runtime to Section: utils from libs
+  * Move gstreamer-tools to Section: utils from x11
+  * Doc fixes: (Closes: Bug#165279)
+    * Call xsltproc with --nonet
+    * Refer xsl:import urls to local docbook-xsl package xsl files
+    * Refer www.oasis-open.org dtds to local docbook-xml package dtd files
+    * Add docbook-xml and docbook-xsl to Build-Depends-Indep
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Nov 2002 20:32:46 -0500
+
+gstreamer (0.4.1-3) unstable; urgency=low
+
+  * Fix formatting of Architecture: list to fix alpha and sparc builds
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 15 Oct 2002 22:08:54 -0400
+
+gstreamer (0.4.1-2) unstable; urgency=low
+
+  * Update debian/rules to not fail on binary-arch only builds (configure was
+    unconditionally run with --enable-docs-build which caused it to fail when
+    Build-Depends-Indep packages were not installed)
+    (Closes: Bug#164589, Bug#164698)
+  * Fix version check in common/m4/as-python.m4 to use sys.version_info
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 14 Oct 2002 20:00:29 -0400
+
+gstreamer (0.4.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update libgstreamer0.4.0 to libgstreamer0.4.1
+  * gstreamer-tools.files/manpages: add gst-md5sum
+  * Use xsltproc 1.0.21 to fix doc image problems
+  * Add patch from CVS to fix GST_TYPE_CAPS/PROPS macro typos
+  * Build libgstcontrol as a lib not a plugin module
+  * Update config.{guess,sub}
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon,  7 Oct 2002 20:36:28 -0400
+
+gstreamer (0.4.0.2-cvs20020919-1) unstable; urgency=low
+
+  * CVS snapshot, release branch
+  * gstreamer-core.files: change to libgst*scheduler, since the
+    scheduler names have changed.
+  * gstreamer-core-libs.files: libgstcontrol.so moved
+  * add debian/control.in, and create debian/control rule in debian/rules
+    to change the version number automatically
+
+ -- David Schleef <ds@schleef.org>  Thu, 19 Sep 2002 15:07:36 -0700
+
+gstreamer (0.4.0-2) unstable; urgency=low
+
+  * Remove libtool hack
+  * Dependency change from libc6-dev to libc6-dev | libc-dev
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 23 Aug 2002 12:26:10 -0400
+
+gstreamer (0.4.0-1) unstable; urgency=low
+
+  * New upstream
+  * Update library package: libgstreamer0.3.4 -> libgstreamer0.4.0
+  * Add automake Python support to find python binary to run devhelp doc
+    helper script.  This touches -every- Makefile.in and since the package
+    diff will already be large just use automake 1.6 instead of 1.5 as used
+    upstream.  Sorry.
+  * Update config.{guess,sub}
+  * Temporarily comment out figures from manual so it builds
+  * Apply CVS patch for s/&percnt;/%/ in XML docs
+  * Added devhelp support
+  * Added gst-feedback to gstreamer-tools
+  * Break stuff: blindly reanme gstreamer-lib-core{-dev} to
+    gstreamer-core-libs{-dev}.  Hard to chose naming as these are half-plugins
+    and half-linkable libs.  Picking a scheme that also works with
+    gstreamer-plugins-* packages.  Still looking for a better solution...
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 16 Jul 2002 02:20:40 -0400
+
+gstreamer (0.3.4-1) unstable; urgency=low
+
+  * New upstream
+  * libgstreamer0.3.3 -> libgstreamer0.3.4
+  * Conflict and Replace libgstreamer0.3.3 so upgrades work
+    This shouldn't be required because plugins know what version they were
+    compiled with.  Apparently this doesn't yet work properly.
+  * Add bison and flex to Build-Depends
+  * Add libgstfastscheduler.so to -core
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 15 Apr 2002 01:13:00 -0400
+
+gstreamer (0.3.3-3) unstable; urgency=low
+
+  * Add libgstreamer-dev dependencies on libpopt-dev and libglib2.0-dev
+  * CVS fix for GstElement NEW_PAD and PAD_REMOVED g_signal_new parameters
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 29 Mar 2002 03:04:22 -0500
+
+gstreamer (0.3.3-2) unstable; urgency=low
+
+  * Depend on and rebuld for glib 2.0
+  * Remove libgtk from Build-Depends
+  * Move gs from Build-Depends to Build-Depends-Indep
+  * Added lintian overrides for base.css zero length files
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 22 Mar 2002 19:29:24 -0500
+
+gstreamer (0.3.3-1) unstable; urgency=low
+
+  * New upstream
+  * Renamed libgstX to libgstreamerX.Y.Z
+    will move to better versioning once upstream starts interface versioning
+  * Renamed libgst-dev to libgstreamer-dev
+  * Patch to build plugins as only .so
+  * Added libstandardscheduler.so to -core
+  * Guessing that mips support handles mipsel too
+  * From David Schleef <ds@schleef.org>:
+    * Add popt, gs to Build-Depends:
+    * #include <errno.h> compile fix
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 21 Mar 2002 01:42:18 -0500
+
+gstreamer (0.3.2-2) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.15
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun, 24 Feb 2002 23:48:33 -0500
+
+gstreamer (0.3.2-1) unstable; urgency=low
+
+  * The "I should have started using cvs-buildpacakge long ago" release
+  * New upstream release
+  * Once again stripped CVS dirs from upstream tarball
+  * Add spider autoplugger
+  * Added gst-xmllaunch and man page to -tools
+  * Despite my complaints, upstream is using new lib versioning
+    until they decide API is "stable" enough to provide support.
+    At that point proper versioning will happen.
+    This release lib change:
+       libgst.so.2.0.0 -> libgst-0.3.2.so.0.0.0
+    This release lib package change:
+       libgst2 -> libgst3
+    Hopefully this is mostly transparent.
+
+    Due to a conflict with GNU Smalltalk the next upstream release
+    will be renaming some "gst" to "gstreamer".  This will change
+    the lib to libgstreamer*.  Some header locations will change too
+    so prepare for broken code.
+
+    Plan for next upstream release is to rename packages:
+       libgst3 -> libgstreamer0
+       libgst-dev -> libgstreamer-dev
+  * Plugins now unversioned upstream:
+    * Just .so, no more .so.x.y.z
+    * Drop .la and .a
+    * Fixup a few
+    * Wait and see if anyone even notices...
+  * Add back some docs that escaped via the diff
+  * Fixup some more doc cruft in the diff
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 14 Feb 2002 02:20:48 -0500
+
+gstreamer (0.3.1-4) unstable; urgency=low
+
+  * (Unreleased)
+  * find . -type d -name CVS -exec rm -rf {} \;
+  * Hack upstream tarball to exclude above CVS/ dirs
+  * Rebuild for conversion to cvs-buildpackage management
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 13 Feb 2002 18:18:34 -0500
+
+gstreamer (0.3.1-3) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.13
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Feb 2002 02:17:23 -0500
+
+gstreamer (0.3.1-2) unstable; urgency=low
+
+  * Upstream fix for proper libxml version in pkg-config
+  * Undo some of the auto docs/*/tmpl breakage
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 23 Jan 2002 01:28:12 -0500
+
+gstreamer (0.3.1-1) unstable; urgency=low
+
+  * New upstream release
+  * Upstream broken into multiple packages
+  * Core plugins left in -core
+  * Core lib plugins moved to -core
+  * Other plugins now built from gst-plugins source pacakge
+  * libgst1 -> libgst2
+  * Tool prefix renamed upstream: s/gstreamer/gst/
+  * Moved gstreamer-guilaunch to gst-editor source package
+  * Removed gstreamer-config and .m4 in favor of pkg-config use
+  * Build for glib2
+  * Change doc build system a bit
+  * Added -lib-core and -lib-core-dev packages for library plugins
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 10 Jan 2002 23:09:34 -0500
+
+gstreamer (0.3.0-3) unstable; urgency=low
+
+  * Remove upstream ChangeLog from packages: 128k changelog.gz per
+    plugin package for 40 packages is too much
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 25 Dec 2001 23:36:28 -0500
+
+gstreamer (0.3.0-2) unstable; urgency=low
+
+  * Fix bug that slipped into 0.3.0: s/aasink/xvideosink/ in
+    gstplay/gstplay.c
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 25 Dec 2001 17:56:29 -0500
+
+gstreamer (0.3.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Attempt to update various Build-Depends versions
+  * Added plugin packages: -a52dec, -dvd, -mikmod, -sid
+  * Renamed -elements to -core
+  * Added to -core: gstbasicscheduler
+  * Moved from -common to -core: gsttypes, autoplug related
+  * Renamed -common to -misc
+  * Added to -misc: speed, qcam, bytesteram, control, silence, sinesrc,
+    mpegstream, playondemand, resample
+  * Added gstreamer-guilaunch to gstreamer-tools package
+  * Added dependencies on unofficial LAME packages
+  * Use PIC libs for Xv
+  * Disable broken building of PDF/PS docs
+  * Renamed -all-plugins to -all
+  * Disable docs -- too hard to build
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 21 Dec 2001 12:00:02 -0500
+
+gstreamer (0.2.1-4) unstable; urgency=low
+
+  * Fix some problems reported from lintian 1.20.14:
+    * copyright-lists-upstream-authors-like-dh_make
+    * debian-changelog-file-contains-user-emacs-settings
+  * Patch from CVS to link libgst into plugins
+    Plugins now properly depend on libgst package
+  * Use RedHat Gtk+-1.3 hack to fix relink issues with ltmain.sh
+  * Patch from CVS for xvideosink segfault when no DISPLAY set
+  * Remove builddir references from gstreamer-config.in
+  * Move libgstelements.la from libgst-dev to gstreamer-elements
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 28 Aug 2001 20:05:28 -0400
+
+gstreamer (0.2.1-3) unstable; urgency=low
+
+  * Update build dependencies to FLAC 1.0
+  * Enable debug features
+  * Fixup broken doc build -scan voodoo with link into .libs/ dir
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun,  5 Aug 2001 23:04:28 -0400
+
+gstreamer (0.2.1-2) unstable; urgency=low
+
+  * Fix lib deps: run debhelper tools in the right order
+  * Added arts dir to Makefile.am SUBDIRS so it builds again
+  * Changed libmpeg2dec to libgstmpeg2dec to avoid naming issues
+    when using -lmpeg2dec
+  * Updated system_encode/ with CVS segfaulter bug fix
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 19 Jul 2001 15:47:24 -0400
+
+gstreamer (0.2.1-1) unstable; urgency=low
+
+  * New upstream 0.2.1: "Return of the Sedi Master"
+  * New plugin packages: -festival, -flac, -avifile, -x
+  * New plugins in -common: chart, deinterlace, udp
+  * Added some post-0.2.1 fixes for FLAC, build system, ALSA
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 28 Jun 2001 20:15:15 -0400
+
+gstreamer (0.2.0-6) unstable; urgency=low
+
+  * Move -compprep to -runtime and call it same places as -register
+  * Do -register and -compprep in postrm instead of prerm
+  * Make -arts plugin actually build all the source (sent upstream)
+  * Purge of -runtime removes /etc/gstreamer
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 19 Jun 2001 13:09:32 -0400
+
+gstreamer (0.2.0-5) unstable; urgency=low
+
+  * Added element package dependencies to libgstmediaplay0
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 18 Jun 2001 11:18:53 -0400
+
+gstreamer (0.2.0-4) unstable; urgency=low
+
+  * Add --gst-mask=0 to -runtime.postinst
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 11:47:24 -0400
+
+gstreamer (0.2.0-3) unstable; urgency=low
+
+  * Fix the plugin control file symlink creation
+  * Add audiofile to Build-Depends
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 05:22:28 -0400
+
+gstreamer (0.2.0-2) unstable; urgency=low
+
+  * Fixed ALSA checks to not include -lasound in -every- link
+  * Update LAME plugin to use latest CVS API
+  * Removed OSS src/sink from -common.files (was in -oss too)
+  * Swapped -arts.files and -artsd.files contents
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 04:02:21 -0400
+
+gstreamer (0.2.0-1) unstable; urgency=low
+
+  * Added gstreamer-compprep manpage
+  * Upgrade to 0.2.0
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu,  7 Jun 2001 12:53:59 -0400
+
+gstreamer (0.2.0-0.3) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre3
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Jun 2001 15:09:59 -0400
+
+gstreamer (0.2.0-0.2) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre2 + CVS 20010604
+  * Added -artsd (vs -arts), -audiofile, -gnomevfs, -gsm, -jpeg,
+    -oss, and -sdl plugin packages
+  * Added osshelper lib to oss package
+  * Added more AVI related plugins and autoplug libs to -common
+  * Added pkgconfig file to libgst-dev
+  * Added gstreamer-all-plugins pseudo package that depends on
+    all other plugin pacakges
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon,  4 Jun 2001 17:33:20 -0400
+
+gstreamer (0.2.0-0.1) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre1
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 31 May 2001 17:16:23 -0400
+
+gstreamer (0.1.1.20010504-1) unstable; urgency=low
+
+  * Latest CVS code
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  4 May 2001 21:48:45 -0400
+
+gstreamer (0.1.1.20010430-2) unstable; urgency=low
+
+  * Added -colorspace package for Hermes dependent conversion
+  * Added -arts package for aRts sink
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue,  1 May 2001 19:46:08 -0400
+
+gstreamer (0.1.1.20010430-1) unstable; urgency=low
+
+  * Latest CVS code
+  * Added -aa package for aasink output
+  * Added -mad package for mad mp3 decoder
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 30 Apr 2001 18:25:52 -0400
+
+gstreamer (0.1.1.20010320-1) unstable; urgency=low
+
+  * Latest CVS code
+  * enable main docs
+  * disable broken plugin docs with new option
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 20 Mar 2001 18:15:19 -0500
+
+gstreamer (0.1.1.20010315-1) unstable; urgency=low
+
+  * Latest CVS code
+  * Added man pages
+  * Split mpeg2dec to seperate plugin
+  * libgst Architectures updated to cothread supported archs
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 15 Mar 2001 20:17:19 -0500
+
+gstreamer (0.1.1-1) unstable; urgency=low
+
+  * New upstream release
+  * disable docs build, broken at the momemnt
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun, 25 Feb 2001 17:58:25 -0500
+
+gstreamer (0.1.0-2) unstable; urgency=low
+
+  * debian/rules: call configure instead of autogen.sh
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat, 24 Feb 2001 18:31:36 -0500
+
+gstreamer (0.1.0-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 15 Jan 2001 18:25:18 -0500
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..d8d726b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,166 @@
+Source: gstreamer1.0
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loïc Minier <lool@debian.org>,
+           Sebastien Bacher <seb128@debian.org>,
+           Sebastian Dröge <slomo@debian.org>,
+           Sjoerd Simons <sjoerd@debian.org>
+Build-Depends: debhelper (>= 9),
+               cdbs (>= 0.4.93~),
+               gnome-pkg-tools (>= 0.7),
+               autotools-dev,
+               automake (>= 1.11),
+               autoconf (>= 2.62),
+               libtool (>= 2.2.6),
+               dh-autoreconf,
+               autopoint (>= 0.17),
+               zlib1g-dev (>= 1:1.1.4),
+               libglib2.0-dev (>= 2.32),
+               libgmp3-dev,
+               libgsl0-dev,
+               pkg-config (>= 0.11.0),
+               bison (>= 1.875),
+               flex (>= 2.5.34),
+               dpkg-dev (>= 1.15.1),
+               perl-doc,
+               libgirepository1.0-dev (>= 0.9.12-4~),
+               gobject-introspection (>= 0.9.12-4~),
+               gir1.2-glib-2.0,
+               gir1.2-freedesktop
+Build-Depends-Indep: python (>= 2.2),
+                     gtk-doc-tools (>= 1.12),
+                     jade (>= 1.2.1),
+                     transfig (>= 3.2.3.c),
+                     docbook-utils (>= 0.6.9),
+                     docbook-xml,
+                     docbook-xsl,
+                     xsltproc (>= 1.0.21),
+                     ghostscript,
+                     xmlto,
+                     netpbm,
+                     libglib2.0-doc
+Standards-Version: 3.9.3
+Homepage: http://gstreamer.freedesktop.org
+
+Package: libgstreamer1.0-0
+Architecture: any
+Multi-Arch: same
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Suggests: gstreamer1.0-tools,
+          gstreamer1.0-plugins-base
+Description: Core GStreamer libraries and elements
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains the core library and elements.
+
+Package: libgstreamer1.0-0-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: libgstreamer1.0-0 (= ${binary:Version}),
+         ${misc:Depends}
+Description: Core GStreamer libraries and elements
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
+
+Package: libgstreamer1.0-dev
+Architecture: any
+Section: libdevel
+Depends: libgstreamer1.0-0 (= ${binary:Version}),
+         libc6-dev | libc-dev,
+         pkg-config,
+         libglib2.0-dev,
+         ${shlibs:Depends},
+         ${misc:Depends},
+         gir1.2-gstreamer-1.0 (= ${binary:Version})
+Recommends: debhelper
+Suggests: gstreamer1.0-doc
+Description: GStreamer core development files
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains development files for the core library and
+ elements.
+
+Package: gstreamer1.0-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+         libglib2.0-doc
+Recommends: libgstreamer1.0-dev (= ${source:Version})
+Description: GStreamer core documentation and manuals
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains documentation for core libraries and elements as
+ well as:
+  * the GStreamer Manual
+  * the GStreamer Plugin Writers Guide
+  * Various API docs
+
+Package: gstreamer1.0-tools
+Architecture: any
+Section: utils
+Depends: ${shlibs:Depends},
+         ${misc:Depends},
+         pkg-config,
+         libgstreamer1.0-0 (>= 0.11.94)
+Suggests: gstreamer1.0-plugins-base
+Description: Tools for use with GStreamer
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains versioned command-line tools for GStreamer.
+
+Package: gir1.2-gstreamer-1.0
+Section: introspection
+Architecture: any
+Depends: ${gir:Depends},
+         ${shlibs:Depends},
+         ${misc:Depends},
+         ${gir:Depends}
+Description: Description: GObject introspection data for the GStreamer library
+ This package contains introspection data for the GStreamer streaming media
+ framework.
+ .
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ It can be used by packages using the GIRepository format to generate
+ dynamic bindings.
+
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..a6f5e12
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,166 @@
+Source: @GST_PKGNAME@
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loïc Minier <lool@debian.org>,
+           Sebastien Bacher <seb128@debian.org>,
+           Sebastian Dröge <slomo@debian.org>,
+           Sjoerd Simons <sjoerd@debian.org>
+Build-Depends: debhelper (>= 9),
+               cdbs (>= 0.4.93~),
+               gnome-pkg-tools (>= 0.7),
+               autotools-dev,
+               automake (>= 1.11),
+               autoconf (>= 2.62),
+               libtool (>= 2.2.6),
+               dh-autoreconf,
+               autopoint (>= 0.17),
+               zlib1g-dev (>= 1:1.1.4),
+               libglib2.0-dev (>= 2.32),
+               libgmp3-dev,
+               libgsl0-dev,
+               pkg-config (>= 0.11.0),
+               bison (>= 1.875),
+               flex (>= 2.5.34),
+               dpkg-dev (>= 1.15.1),
+               perl-doc,
+               libgirepository1.0-dev (>= 0.9.12-4~),
+               gobject-introspection (>= 0.9.12-4~),
+               gir1.2-glib-2.0,
+               gir1.2-freedesktop
+Build-Depends-Indep: python (>= 2.2),
+                     gtk-doc-tools (>= 1.12),
+                     jade (>= 1.2.1),
+                     transfig (>= 3.2.3.c),
+                     docbook-utils (>= 0.6.9),
+                     docbook-xml,
+                     docbook-xsl,
+                     xsltproc (>= 1.0.21),
+                     ghostscript,
+                     xmlto,
+                     netpbm,
+                     libglib2.0-doc
+Standards-Version: 3.9.3
+Homepage: http://gstreamer.freedesktop.org
+
+Package: @GST_LIB@
+Architecture: any
+Multi-Arch: same
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Suggests: @GST_PKGNAME@-tools,
+          @GST_PKGNAME@-plugins-base
+Description: Core GStreamer libraries and elements
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains the core library and elements.
+
+Package: @GST_LIB@-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: @GST_LIB@ (= ${binary:Version}),
+         ${misc:Depends}
+Description: Core GStreamer libraries and elements
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
+
+Package: @GST_LIB_DEV@
+Architecture: any
+Section: libdevel
+Depends: @GST_LIB@ (= ${binary:Version}),
+         libc6-dev | libc-dev,
+         pkg-config,
+         libglib2.0-dev,
+         ${shlibs:Depends},
+         ${misc:Depends},
+         gir1.2-gstreamer-@GST_ABI@ (= ${binary:Version})
+Recommends: debhelper
+Suggests: @GST_PKGNAME@-doc
+Description: GStreamer core development files
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains development files for the core library and
+ elements.
+
+Package: @GST_PKGNAME@-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+         libglib2.0-doc
+Recommends: @GST_LIB_DEV@ (= ${source:Version})
+Description: GStreamer core documentation and manuals
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains documentation for core libraries and elements as
+ well as:
+  * the GStreamer Manual
+  * the GStreamer Plugin Writers Guide
+  * Various API docs
+
+Package: @GST_PKGNAME@-tools
+Architecture: any
+Section: utils
+Depends: ${shlibs:Depends},
+         ${misc:Depends},
+         pkg-config,
+         @GST_LIB@ (>= @GST_VERSION@)
+Suggests: @GST_PKGNAME@-plugins-base
+Description: Tools for use with GStreamer
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains versioned command-line tools for GStreamer.
+
+Package: gir1.2-gstreamer-@GST_ABI@
+Section: introspection
+Architecture: any
+Depends: ${gir:Depends},
+         ${shlibs:Depends},
+         ${misc:Depends},
+         ${gir:Depends}
+Description: Description: GObject introspection data for the GStreamer library
+ This package contains introspection data for the GStreamer streaming media
+ framework.
+ .
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ It can be used by packages using the GIRepository format to generate
+ dynamic bindings.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..1e1e2b3
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,745 @@
+This package was debianized by David I. Lehn <dlehn@debian.org> on
+Mon, 15 Jan 2001 18:21:37 -0500.
+
+It was downloaded from <http://gstreamer.freedesktop.org/>.
+
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: GStreamer core 1.0
+Upstream-Contact: gstreamer-devel@lists.freedesktop.org
+Source: http://gstreamer.freedesktop.org
+
+Files: gst/gst.c
+ gst/gst.h
+ gst/gst_private.h
+ gst/gstbin.c
+ gst/gstbin.h
+ gst/gstbuffer.c
+ gst/gstbuffer.h
+ gst/gstclock.c
+ gst/gstclock.h
+ gst/gstcompat.h
+ gst/gstelement.c
+ gst/gstelement.h
+ gst/gstelementfactory.c
+ gst/gstelementfactory.h
+ gst/gstelementmetadata.h
+ gst/gstevent.c
+ gst/gstevent.h
+ gst/gstformat.c
+ gst/gstformat.h
+ gst/gstghostpad.c
+ gst/gstghostpad.h
+ gst/gstinfo.h
+ gst/gstobject.c
+ gst/gstobject.h
+ gst/gstpad.c
+ gst/gstpad.h
+ gst/gstpadtemplate.c
+ gst/gstpadtemplate.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/gstquery.c
+ gst/gstquery.h
+ gst/gstregistry.c
+ gst/gstregistry.h
+ gst/gstsample.h
+ gst/gstsystemclock.c
+ gst/gstsystemclock.h
+ gst/gsttask.c
+ gst/gsttrace.c
+ gst/gsttrace.h
+ gst/gsturi.h
+ gst/gstutils.c
+ gst/gstutils.h
+ 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/gstindex.h
+ libs/gst/base/gstpushsrc.c
+ libs/gst/base/gstpushsrc.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/gstqueue.c
+ plugins/elements/gstqueue.h
+ plugins/elements/gstqueue2.c
+ plugins/elements/gstqueue2.h
+ plugins/elements/gsttee.c
+ plugins/elements/gsttee.h
+ tools/gst-inspect.c
+ tools/gst-launch.c
+ win32/common/gstconfig.h
+ win32/common/gstversion.h
+Copyright: 1999-2000, Erik Walthinsen <omega@cse.ogi.edu>
+License: LGPL-2+
+
+Files: libs/gst/check/libcheck/check.c
+ libs/gst/check/libcheck/check.h
+ 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
+Copyright: 2001, 2002, Arien Malec
+  2001-2002, Arien Malec
+License: LGPL-2.1+
+
+Files: gst/gstparamspecs.c
+ gst/gstparamspecs.h
+ gst/math-compat.h
+ libs/gst/base/gstbytereader-docs.h
+ tests/check/elements/multiqueue.c
+ tests/check/elements/queue2.c
+ tests/check/gst/gstinfo.c
+ tests/check/gst/gstparamspecs.c
+ tests/check/gst/gstregistry.c
+ tests/check/gst/gsttagsetter.c
+ tests/check/gst/gsturi.c
+ tests/check/libs/basesrc.c
+ tests/check/libs/gstlibscpp.cc
+ tests/check/libs/typefindhelper.c
+ tests/check/pipelines/parse-disabled.c
+Copyright: 2006, Tim-Philipp Müller <tim centricular net>
+  2007, Tim-Philipp Müller <tim centricular net>
+  2009, Tim-Philipp Müller <tim centricular net>
+  2010, Tim-Philipp Müller <tim centricular net>
+  2011, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/gsttaglist.c
+ gst/gsttaglist.h
+ gst/gsttagsetter.c
+ gst/gsttagsetter.h
+ gst/gsttypefind.c
+ gst/gsttypefind.h
+ gst/gsttypefindfactory.c
+ gst/gsttypefindfactory.h
+ plugins/elements/gsttypefindelement.c
+ plugins/elements/gsttypefindelement.h
+ tests/check/gst/gsttag.c
+Copyright: 2003, Benjamin Otte <in7y118@public.uni-hamburg.de>
+License: LGPL-2+
+
+Files: debian/gst-codec-info.c
+ libs/gst/base/gstbitreader-docs.h
+ libs/gst/base/gstbitreader.c
+ libs/gst/base/gstbitreader.h
+ libs/gst/base/gstbytewriter-docs.h
+ libs/gst/base/gstbytewriter.c
+ libs/gst/base/gstbytewriter.h
+ libs/gst/controller/gstinterpolationcontrolsource.c
+ libs/gst/controller/gstlfocontrolsource.c
+ libs/gst/controller/gsttimedvaluecontrolsource.c
+ libs/gst/controller/gsttriggercontrolsource.c
+Copyright: 2007,2009, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2007,2010, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2008, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2009, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2010, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: gst/gstchildproxy.c
+ gst/gstchildproxy.h
+ gst/gstdebugutils.c
+ gst/gstdebugutils.h
+ gst/gstpreset.c
+ gst/gstpreset.h
+ tests/benchmarks/capsnego.c
+ tests/benchmarks/controller.c
+ tests/check/gst/gstchildproxy.c
+ tests/check/gst/gstelementfactory.c
+Copyright: 2005, Stefan Kost <ensonic@users.sf.net>
+  2006, Stefan Kost <ensonic@users.sf.net>
+  2007, Stefan Kost <ensonic@users.sf.net>
+  2009, Stefan Kost <ensonic@users.sf.net>
+  2010, Stefan Kost <ensonic@users.sf.net>
+  2011, Stefan Kost <ensonic@users.sf.net>
+License: LGPL-2+
+
+Files: tests/check/elements/fakesink.c
+ tests/check/elements/fakesrc.c
+ tests/check/elements/identity.c
+ tests/check/generic/states.c
+ tests/check/gst/gst.c
+ tests/check/gst/gstbuffer.c
+ tests/check/gst/gstpad.c
+ tests/check/gst/gststructure.c
+ tests/check/pipelines/cleanup.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: libs/gst/net/gstnet.h
+ libs/gst/net/gstnettimepacket.h
+ libs/gst/net/gstnettimeprovider.c
+ tests/benchmarks/caps.c
+ tests/check/gst/gstiterator.c
+ tests/check/libs/gstnetclientclock.c
+ tests/check/libs/gstnettimeprovider.c
+ tests/check/pipelines/simple-launch-lines.c
+ tests/check/pipelines/stress.c
+Copyright: 2005, Andy Wingo <wingo@pobox.com>
+License: LGPL-2+
+
+Files: gst/gstbufferpool.c
+ gst/gstbufferpool.h
+ gst/gstmeta.c
+ gst/gstsample.c
+ gst/gsttaskpool.c
+ libs/gst/base/gstbasesink.c
+ tests/check/libs/transform1.c
+ tests/examples/streams/testrtpool.c
+Copyright: 2005-2007, Wim Taymans <wim.taymans@gmail.com>
+  2008, Wim Taymans <wim.taymans@gmail.com>
+  2009, Wim Taymans <wim.taymans@gmail.com>
+  2010, Wim Taymans <wim.taymans@gmail.com>
+  2011, Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: gst/gstbus.c
+ gst/gstbus.h
+ gst/gstmessage.c
+ gst/gstmessage.h
+ gst/gstsegment.c
+ gst/gstsegment.h
+ tests/check/gst/gstghostpad.c
+ tests/check/gst/gstsystemclock.c
+Copyright: 2004, Wim Taymans <wim@fluendo.com>
+  2005, Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: gst/gsttoc.c
+ gst/gsttoc.h
+ gst/gsttocsetter.c
+ gst/gsttocsetter.h
+ tests/check/gst/gsttoc.c
+ tests/check/gst/gsttocsetter.c
+Copyright: 2010, 2012 Alexander Saprykin <xelfium@gmail.com>
+License: LGPL-2+
+
+Files: gst/gstcontrolsource.c
+ gst/gstcontrolsource.h
+ libs/gst/controller/gstinterpolationcontrolsource.h
+ libs/gst/controller/gstlfocontrolsource.h
+ libs/gst/controller/gsttimedvaluecontrolsource.h
+ libs/gst/controller/gsttriggercontrolsource.h
+Copyright: 2007, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: gst/gstcontrolbinding.c
+ gst/gstcontrolbinding.h
+ libs/gst/controller/gstargbcontrolbinding.c
+ libs/gst/controller/gstargbcontrolbinding.h
+ libs/gst/controller/gstdirectcontrolbinding.c
+ libs/gst/controller/gstdirectcontrolbinding.h
+Copyright: 2011, Stefan Sauer <ensonic@users.sf.net>
+License: LGPL-2+
+
+Files: gst/gsterror.h
+ tests/check/elements/filesrc.c
+ tests/check/gst/gstelement.c
+ tests/check/gst/gstpipeline.c
+ tests/check/gst/gsttask.c
+Copyright: 2004, Thomas Vander Stichele <thomas at apestaart dot org>
+  2005, Thomas Vander Stichele <thomas at apestaart dot org>
+  2006, Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: gst/gstcaps.c
+ gst/gsterror.c
+ gst/gstvalue.c
+ gst/gstvalue.h
+Copyright: <2003> David A. Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: libs/gst/base/gstadapter.c
+ libs/gst/base/gstadapter.h
+ tests/benchmarks/mass-elements.c
+ tools/tools.h
+Copyright: 2004, Benjamin Otte <otte@gnome.org>
+  2005, Benjamin Otte <otte@gnome.org>
+License: LGPL-2+
+
+Files: gst/gst-i18n-app.h
+ gst/gst-i18n-lib.h
+ tests/examples/metadata/read-metadata.c
+ tools/gst-typefind.c
+Copyright: 2003, Thomas Vander Stichele <thomas@apestaart.org>
+  2004, Thomas Vander Stichele <thomas@apestaart.org>
+License: LGPL-2+
+
+Files: common/coverage/coverage-report-entry.pl
+ common/coverage/coverage-report.pl
+ common/coverage/coverage-report.xsl
+Copyright: 2006, Daniel Berrange
+License: GPL-2+
+
+Files: gst/gstmacros.h
+ gst/gsttask.h
+ libs/gst/base/gstmemindex.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+License: LGPL-2+
+
+Files: tests/check/generic/sinks.c
+ tests/check/gst/gstmessage.c
+ tests/check/libs/adapter.c
+Copyright: <2005> Wim Taymans <wim at fluendo dot com>
+License: LGPL-2+
+
+Files: gst/gsttaskpool.h
+ tests/check/gst/gstmeta.c
+ tests/examples/streams/testrtpool.h
+Copyright: <2009> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: gst/gstbufferlist.c
+ gst/gstbufferlist.h
+ tests/check/gst/gstbufferlist.c
+Copyright: 2009, Axis Communications <dev-gstreamer at axis dot com>
+License: LGPL-2+
+
+Files: gst/gstcaps.h
+ gst/gststructure.c
+ gst/gststructure.h
+Copyright: 2003, David A. Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: gst/glib-compat-private.h
+ gst/gstminiobject.c
+ gst/gstminiobject.h
+Copyright: 2005, David Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: plugins/elements/gstdataqueue.c
+ plugins/elements/gstdataqueue.h
+ plugins/elements/gstmultiqueue.h
+Copyright: 2006, Edward Hervey <edward@fluendo.com>
+License: LGPL-2+
+
+Files: gst/gstpluginloader.c
+ gst/gstpluginloader.h
+ libs/gst/helpers/gst-plugin-scanner.c
+Copyright: 2008, Jan Schmidt <jan.schmidt@sun.com>
+License: LGPL-2+
+
+Files: plugins/elements/gstoutputselector.c
+ plugins/elements/gstoutputselector.h
+ tests/check/elements/selector.c
+Copyright: 2008, Nokia Corporation. (contact <stefan.kost@nokia.com>)
+License: LGPL-2+
+
+Files: gst/gstmemory.c
+ gst/gstmemory.h
+ gst/gstmeta.h
+Copyright: 2009, Wim Taymans <wim.taymans@gmail.be>
+  2011, Wim Taymans <wim.taymans@gmail.be>
+License: LGPL-2+
+
+Files: tests/check/gst/gstcontroller.c
+ tests/check/libs/controller.c
+Copyright: <2005> Stefan Kost <ensonic at users dot sf dot net>
+  <2006-2007> Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: tests/check/libs/bitreader.c
+ tests/check/libs/bytereader.c
+Copyright: <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: libs/gst/net/gstnetaddressmeta.c
+ libs/gst/net/gstnetaddressmeta.h
+Copyright: <2011> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: tests/check/gst/gstclock.c
+ tests/check/libs/basesink.c
+Copyright: 2010, Alessandro Decina <alessandro.decina@collabora.co.uk>
+License: LGPL-2+
+
+Files: libs/gst/check/gstbufferstraw.c
+ libs/gst/check/gstbufferstraw.h
+Copyright: 2006, Andy Wingo <wingo at pobox.com>
+License: LGPL-2+
+
+Files: plugins/elements/gstvalve.c
+ plugins/elements/gstvalve.h
+Copyright: 2007, Collabora Ltd
+  2007, Nokia Corporation
+  2007-2009, Collabora Ltd
+  2007-2009, Nokia Corporation
+License: LGPL-2+
+
+Files: libs/gst/net/gstnetclientclock.c
+ libs/gst/net/gstnetclientclock.h
+Copyright: 1999-2000, Erik Walthinsen <omega@cse.ogi.edu>
+  2012, Collabora Ltd. <tim.muller@collabora.co.uk>
+License: LGPL-2+
+
+Files: gst/gstatomicqueue.c
+ libs/gst/check/gstconsistencychecker.h
+Copyright: 2009, Edward Hervey <bilboed@bilboed.com>
+License: LGPL-2+
+
+Files: gst/gstinfo.c
+ gst/gsturi.c
+Copyright: 1999-2000, Erik Walthinsen <omega@cse.ogi.edu>
+  2008-2009, Tim-Philipp Müller <tim centricular net>
+  2011, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: libs/gst/base/gsttypefindhelper.c
+ libs/gst/base/gsttypefindhelper.h
+Copyright: 1999-2000, Erik Walthinsen <omega@cse.ogi.edu>
+  2000,2005, Wim Taymans <wim@fluendo.com>
+  2006, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstevent.c
+ tests/check/gst/gstsegment.c
+Copyright: 2005, Jan Schmidt <thaytan@mad.scientist.com>
+License: LGPL-2+
+
+Files: gst/gstquark.c
+ gst/gstquark.h
+Copyright: 2006, Jan Schmidt <thaytan@noraisin.net>
+License: LGPL-2+
+
+Files: gst/gstregistrybinary.c
+ gst/gstregistrychunks.c
+Copyright: 2006, Josep Torra <josep@fluendo.com>
+License: LGPL-2+
+
+Files: gst/gstregistrybinary.h
+ gst/gstregistrychunks.h
+Copyright: 2006, Josep Torra <josep@fluendo.com>
+  2006, Mathieu Garcia <matthieu@fluendo.com>
+  2006, Stefan Kost <ensonic@sonicpulse.de>
+License: LGPL-2+
+
+Files: libs/gst/base/gstbytereader.c
+ libs/gst/base/gstbytereader.h
+Copyright: 2008, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2009, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/gstiterator.c
+ gst/gstiterator.h
+Copyright: 2004, Wim Taymans <wim@fluendo.com>
+  2011, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: gst/gstdatetime.c
+ gst/gstdatetime.h
+Copyright: 2010, Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+License: LGPL-2+
+
+Files: plugins/elements/gstfunnel.c
+ plugins/elements/gstfunnel.h
+Copyright: 2007, Collabora Ltd
+  2007, Nokia Corp
+License: LGPL-2.1+
+
+Files: ltmain.sh
+Copyright: 1996-2001, 2003-2006
+License: GPL-2+
+
+Files: gst/parse/grammar.tab.h
+Copyright: 1984, 1989-1990, 2000-2011, Free Software Foundation, Inc
+License: GPL-3+
+
+Files: tests/check/gst/gstquery.c
+Copyright: *No copyright*
+License: LGPL-2+
+
+Files: tests/benchmarks/gstpollstress.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2004> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: tests/check/gst/gstvalue.c
+Copyright: <2004> David Schleef <david at schleef dot org>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: tests/check/gst/gstobject.c
+Copyright: <2004> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: libs/gst/check/gstcheck.h
+Copyright: <2004> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2008> Thijs Vermeir <thijsvermeir@gmail.com>
+License: LGPL-2+
+
+Files: tests/check/elements/fdsrc.c
+Copyright: <2005> Jan Schmidt <thaytan at mad dot scientist dot com>
+License: LGPL-2+
+
+Files: tests/examples/typefind/typefind.c
+Copyright: <2005> Stefan Kost
+  <2006> Tim-Philipp Müller
+License: LGPL-2+
+
+Files: tests/check/gst/gstminiobject.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2005> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstutils.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2006> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/pipelines/parse-launch.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2008> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstcaps.c
+Copyright: 2005, Andy Wingo <wingo@pobox.com>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: tests/check/elements/queue.c
+Copyright: <2006> Stefan Kost <ensonic@users.sf.net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstpoll.c
+Copyright: <2007> Peter Kjellerstedt <pkj@axis.com>
+License: LGPL-2+
+
+Files: tests/check/elements/tee.c
+Copyright: <2007> Wim Taymans <wim dot taymans at gmail dot com>
+  <2008> Christian Berentsen <christian.berentsen@tandberg.com>
+  <2008> Ole Andr? Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+License: LGPL-2+
+
+Files: tests/check/elements/capsfilter.c
+Copyright: <2008> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/benchmarks/gstbufferstress.c
+Copyright: <2009> Edward Hervey <bilboed@bilboed.com>
+License: LGPL-2+
+
+Files: tests/check/libs/bytewriter.c
+Copyright: <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: tests/benchmarks/gstclockstress.c
+Copyright: <2009> Wim Taymans <wim taymans at gmail dot com>
+License: LGPL-2+
+
+Files: tests/check/gst/gstatomicqueue.c
+Copyright: <2011> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstmemory.c
+Copyright: <2012> Wim Taymans <wim.taymans at gmail.com>
+License: LGPL-2+
+
+Files: tests/check/libs/collectpads2.c
+Copyright: 2006, Alessandro Decina <alessandro@nnva.org>
+License: LGPL-2+
+
+Files: tests/benchmarks/complexity.c
+Copyright: 2004, Benjamin Otte <otte@gnome.org>
+  2005, Andy Wingo <wingo@pobox.com>
+License: LGPL-2+
+
+Files: libs/gst/net/gstnettimeprovider.h
+Copyright: 2005, Andy Wingo <wingo@pobox.com>
+  2012, Collabora Ltd. <tim.muller@collabora.co.uk>
+License: LGPL-2+
+
+Files: libs/gst/net/gstnettimepacket.c
+Copyright: 2005, Andy Wingo <wingo@pobox.com>
+  2010, Tim-Philipp Müller <tim centricular net>
+  2012, Collabora Ltd. <tim.muller@collabora.co.uk>
+License: LGPL-2+
+
+Files: plugins/elements/gstinputselector.c
+Copyright: 2003, Julien Moutte <julien@moutte.net>
+  2005, Jan Schmidt <thaytan@mad.scientist.com>
+  2005, Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+  2007, Andy Wingo <wingo@pobox.com>
+  2007, Wim Taymans <wim.taymans@gmail.com>
+  2008, Nokia Corporation. (contact <stefan.kost@nokia.com>)
+  2011, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: tests/check/gst/gstbus.c
+Copyright: 2005, Andy Wingo <wingo@pobox.com>
+  2007, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstdatetime.c
+Copyright: 2010, Christian Hergert <chris@dronelabs.com>
+  2010, Thiago Santos <thiago.sousa.santos@collabora.co.uk>
+License: LGPL-2+
+
+Files: tests/check/pipelines/seek.c
+Copyright: 2012, Collabora Ltd
+License: LGPL-2+
+
+Files: tests/check/elements/valve.c
+Copyright: 2009, Collabora Ltd
+  2009, Nokia Corp
+License: LGPL-2+
+
+Files: tests/check/gst/gstplugin.c
+Copyright: 2004, Thomas Vander Stichele <thomas at apestaart dot org>
+  2005, David Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: libs/gst/check/gstconsistencychecker.c
+Copyright: 2009, Edward Hervey <bilboed@bilboed.com>
+  2012, Stefan Sauer <ensonic@users.sf.net>
+License: LGPL-2+
+
+Files: gst/gstatomicqueue.h
+Copyright: 2009-2010, Edward Hervey <bilboed@bilboed.com>
+  2011, Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: plugins/elements/gstmultiqueue.c
+Copyright: 2006, Edward Hervey <edward@fluendo.com>
+  2007, Jan Schmidt <jan@fluendo.com>
+  2007, Wim Taymans <wim@fluendo.com>
+  2011, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: gst/gstpoll.c
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2004, Wim Taymans <wim.taymans@gmail.com>
+  2007, Peter Kjellerstedt <pkj@axis.com>
+  2008, Ole Andr? Vadla Ravn?s <ole.andre.ravnas@tandberg.com>
+License: LGPL-2+
+
+Files: gst/gstpoll.h
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2004, Wim Taymans <wim.taymans@gmail.com>
+  2007, Peter Kjellerstedt <pkj@axis.com>
+License: LGPL-2+
+
+Files: gst/gettext.h
+Copyright: 1995-1998, 2000-2002, Free Software Foundation, Inc
+License: LGPL-2+
+
+Files: libs/gst/base/gstbaseparse.c
+Copyright: 2008, Nokia Corporation.
+  2008, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+  2011, Hewlett-Packard Development Company, L.P
+License: LGPL-2+
+
+Files: plugins/elements/gstinputselector.h
+Copyright: 2003, Julien Moutte <julien@moutte.net>
+  2005, Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+  2008, Nokia Corporation. (contact <stefan.kost@nokia.com>)
+License: LGPL-2+
+
+Files: tests/check/pipelines/queue-error.c
+Copyright: 2007, Tim-Philipp Müller <tim centricular net>
+  2009, Mark Nauwelaerts <mnauw users sourceforge net>
+License: LGPL-2+
+
+Files: libs/gst/base/gstcollectpads2.c
+Copyright: 2005, Wim Taymans <wim@fluendo.com>
+  2008, Mark Nauwelaerts <mnauw@users.sourceforge.net>
+  2010, Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: libs/gst/base/gstcollectpads2.h
+Copyright: 2005, Wim Taymans <wim@fluendo.com>
+  2008, Mark Nauwelaerts <mnauw@users.sourceforge.net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstpreset.c
+Copyright: 2008, Nokia Corporation and its subsidary(-ies)
+License: LGPL-2+
+
+Files: libs/gst/base/gstbaseparse.h
+Copyright: 2008, Nokia Corporation.
+License: LGPL-2+
+
+Files: gst/glib-compat.h
+Copyright: 1995-1997, Peter Mattis, Spencer Kimball and Josh MacDonald
+License: LGPL-2+
+
+Files: libs/gst/base/gstindex.c
+Copyright: 2001, RidgeRun (http://www.ridgerun.com/)
+License: LGPL-2+
+
+Files: tests/benchmarks/init.c
+Copyright: 2006, Stefan Kost <stefan.kost@nokia.com>
+License: LGPL-2+
+
+Files: libs/gst/check/gstcheck.c
+Copyright: 2004,2006, Thomas Vander Stichele <thomas at apestaart dot org>
+  2008, Thijs Vermeir <thijsvermeir@gmail.com>
+License: LGPL-2+
+
+Files: tests/check/elements/filesink.c
+Copyright: 2006, Thomas Vander Stichele <thomas at apestaart dot org>
+  2007, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: tests/check/gst/gstbin.c
+Copyright: 2005, Thomas Vander Stichele <thomas at apestaart dot org>
+  2005, Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: tests/check/elements/funnel.c
+Copyright: 2008, Collabora, Nokia
+License: LGPL-2.1+
+
+Copyright:
+
+    This package is free software; you can redistribute it and/or
+    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.
+
+    This package 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian GNU/Linux systems, the complete text of the GNU Lesser General
+Public License can be found in `/usr/share/common-licenses/LGPL'.
+
diff --git a/debian/dh_gstscancodecs b/debian/dh_gstscancodecs
new file mode 100644
index 0000000..b25a6e6
--- /dev/null
+++ b/debian/dh_gstscancodecs
@@ -0,0 +1,132 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_gstscancodecs - enumerate and classify gstreamer codecs
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+use File::Temp;
+
+=head1 SYNOPSIS
+
+  dh_gstscancodecs [debhelper options]
+
+=head1 DESCRIPTION
+
+This program is meant to assist in building a package that provides
+codecs, demultiplexers and other media-handling components for
+gstreamer-based applications.
+
+dh_gstscancodecs generates substitution variable for debian/control,
+by scanning libraries /usr/lib/gstreamer-1.0/*.so and
+/usr/lib/$DEB_HOST_MULTIARCH/gstreamer-1.0/*.so.
+
+The generated substitution variables are
+
+=over 4
+
+=item gstreamer:Version
+
+Should be added to XB-GStreamer-Version
+
+=item gstreamer:Elements
+
+Should be added to XB-GStreamer-Elements
+
+=item gstreamer:Provides
+
+Should be added to Provides
+
+=item gstreamer:URISources
+
+Should be added to XB-GStreamer-URI-Sources
+
+=item gstreamer:URISinks
+
+Should be added to XB-GStreamer-URI-Sinks
+
+=item gstreamer:Encoders
+
+Should be added to XB-GStreamer-Encoders
+
+=item gstreamer:Decoders
+
+Should be added to XB-GStreamer-Decoders
+
+=back
+
+This control fields will be used by the /usr/bin/gstreamer-codec-install
+helper to install required missing GStreamer elements.
+
+=head1 OPTIONS
+
+The standard debhelper options are supported.
+
+=cut
+
+init();
+
+my $deb_host_multiarch = `dpkg-architecture -qDEB_HOST_MULTIARCH`;
+chop $deb_host_multiarch;
+$::pluginlibdirprefix = '/usr/lib/'.$deb_host_multiarch.'/gstreamer-';
+$::pluginlibdirlegacy = '/usr/lib/gstreamer-';
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+  my $tmp = tmpdir($package);
+
+  delsubstvar($package, "gstreamer:Version");
+  delsubstvar($package, "gstreamer:URISinks");
+  delsubstvar($package, "gstreamer:URISources");
+  delsubstvar($package, "gstreamer:Encoders");
+  delsubstvar($package, "gstreamer:Decoders");
+
+  foreach my $sodir (glob "$tmp$::pluginlibdirprefix* $tmp$::pluginlibdirlegacy*") {
+    my $gstversion = $sodir;
+    $gstversion =~ s/^$tmp$::pluginlibdirprefix//;
+    $gstversion =~ s/^$tmp$::pluginlibdirlegacy//;
+    verbose_print("# gstreamer version $gstversion");
+
+    my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
+    my (undef, $registryfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
+
+    my $command="GST_REGISTRY=$registryfile GST_PLUGIN_SYSTEM_PATH= GST_PLUGIN_PATH=$sodir gst-codec-info-$gstversion " . join(' ', (glob "$sodir/*.so")) . " > $tmpfile";
+
+    system($command);
+    if ($?) {
+      my $output;
+      {
+          local *F;
+          open(F, $tmpfile);
+          local $/;
+          $output = <F>;
+          close(F);
+      }
+      die("gst-codec-info-$gstversion call failed: '".$command."' rc: $? output: $output");
+    }
+
+    local *F;
+    open(F, $tmpfile);
+    my ($variable, $value);
+    while(<F>) {
+      $variable = $1 if /([a-zA-Z]*:[a-zA-Z]*)=/;
+      $value = $2 if /([a-zA-Z]*:[a-zA-Z]*)=(.*)\n/;
+      addsubstvar($package, $variable, $value);
+    }
+  }
+}
+
+=head1 SEE ALSO
+
+L<debhelper(1)>
+
+This program is an extension to debhelper.
+
+=head1 AUTHOR
+
+Ian Jackson <iwj@ubuntu.com>
+Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+=cut
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..ebb3d05
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+pristine-tar = True
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
diff --git a/debian/gir1.2-gstreamer.install b/debian/gir1.2-gstreamer.install
new file mode 100644
index 0000000..9803e33
--- /dev/null
+++ b/debian/gir1.2-gstreamer.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/girepository-* usr/lib
diff --git a/debian/gst-codec-info.c b/debian/gst-codec-info.c
new file mode 100644
index 0000000..c0d2ba3
--- /dev/null
+++ b/debian/gst-codec-info.c
@@ -0,0 +1,453 @@
+/* GStreamer
+ * Copyright (C) 2008 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+ *
+ * gst-codec-info.c: tool to print automatic codec installation info
+ *                   for a given list of plugins
+ *
+ * Partially based on gst-inspect from gstreamer.
+ *
+ * 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+
+#include <gst/gst.h>
+#include <string.h>
+
+static const gchar *virtual_packages[] = {
+  "gstreamer1.0-audiosink",
+  "gstreamer1.0-audiosource",
+  "gstreamer1.0-videosink",
+  "gstreamer1.0-videosource",
+  "gstreamer1.0-visualization",
+  NULL
+};
+
+static GList *elements = NULL;
+static GList *uri_sources = NULL;
+static GList *uri_sinks = NULL;
+static GList *provides = NULL;
+static GstCaps *encoders = NULL, *decoders = NULL;
+
+static void
+free_plugin_info (void)
+{
+  g_list_foreach (elements, (GFunc) g_free, NULL);
+  g_list_foreach (uri_sources, (GFunc) g_free, NULL);
+  g_list_foreach (uri_sinks, (GFunc) g_free, NULL);
+
+  g_list_free (elements);
+  g_list_free (uri_sources);
+  g_list_free (uri_sinks);
+
+  g_list_free (provides);
+
+  gst_caps_unref (encoders);
+  gst_caps_unref (decoders);
+}
+
+static void
+print_plugin_info (void)
+{
+  GList *l;
+
+  if (elements) {
+    g_print ("gstreamer:Elements=");
+    for (l = elements; l; l = l->next) {
+      if (l->next)
+        g_print ("%s, ", (gchar *) l->data);
+      else
+        g_print ("%s\n", (gchar *) l->data);
+    }
+  }
+
+  if (provides) {
+    g_print ("gstreamer:Provides=");
+    for (l = provides; l; l = l->next) {
+      if (l->next)
+        g_print ("%s, ", (gchar *) l->data);
+      else
+        g_print ("%s\n", (gchar *) l->data);
+    }
+  }
+
+  if (uri_sources) {
+    g_print ("gstreamer:URISources=");
+    for (l = uri_sources; l; l = l->next) {
+      if (l->next)
+        g_print ("%s, ", (gchar *) l->data);
+      else
+        g_print ("%s\n", (gchar *) l->data);
+    }
+  }
+
+  if (uri_sinks) {
+    g_print ("gstreamer:URISinks=");
+    for (l = uri_sinks; l; l = l->next) {
+      if (l->next)
+        g_print ("%s, ", (gchar *) l->data);
+      else
+        g_print ("%s\n", (gchar *) l->data);
+    }
+  }
+
+  if (!gst_caps_is_empty (encoders)) {
+    gchar *caps = gst_caps_to_string (encoders);
+
+    g_print ("gstreamer:Encoders=%s\n", caps);
+    g_free (caps);
+  }
+
+  if (!gst_caps_is_empty (decoders)) {
+    gchar *caps = gst_caps_to_string (decoders);
+
+    g_print ("gstreamer:Decoders=%s\n", caps);
+    g_free (caps);
+  }
+}
+
+static void
+remove_duplicates (GList * list, gboolean free)
+{
+  GList *l;
+  gchar *previous;
+
+  if (!list || !list->next)
+    return;
+
+  previous = list->data;
+  l = list->next;
+
+  while (l) {
+    if (strcmp (l->data, previous) == 0) {
+      GList *next = l->next;
+
+      if (free)
+        g_free (l->data);
+
+      l = g_list_delete_link (l->prev, l);
+      l = next;
+    } else {
+      previous = l->data;
+      l = l->next;
+    }
+  }
+}
+
+static void
+cleanup_plugin_info (void)
+{
+  if (encoders)
+    encoders = gst_caps_simplify (encoders);
+
+  if (decoders)
+    decoders = gst_caps_simplify (decoders);
+
+  elements = g_list_sort (elements, (GCompareFunc) strcmp);
+  uri_sources = g_list_sort (uri_sources, (GCompareFunc) strcmp);
+  uri_sinks = g_list_sort (uri_sinks, (GCompareFunc) strcmp);
+  provides = g_list_sort (provides, (GCompareFunc) strcmp);
+
+  remove_duplicates (elements, TRUE);
+  remove_duplicates (uri_sources, TRUE);
+  remove_duplicates (uri_sinks, TRUE);
+  remove_duplicates (provides, FALSE);
+}
+
+static void
+collect_uri_protocols (GstElementFactory * factory)
+{
+  const gchar *const *protocols, *const *p;
+
+  protocols = gst_element_factory_get_uri_protocols (factory);
+  if (!protocols)
+    return;
+
+  switch (gst_element_factory_get_uri_type (factory)) {
+    case GST_URI_SINK:
+      for (p = protocols; *p; p++)
+        uri_sinks = g_list_prepend (uri_sinks, g_strdup (*p));
+      break;
+    case GST_URI_SRC:
+      for (p = protocols; *p; p++)
+        uri_sources = g_list_prepend (uri_sources, g_strdup (*p));
+      break;
+    default:
+      break;
+  }
+}
+
+static void
+remove_min_max_fields (GstStructure * s)
+{
+  gint i, n;
+  gboolean removed_field = FALSE;
+
+
+  do {
+    n = gst_structure_n_fields (s);
+    removed_field = FALSE;
+    for (i = 0; i < n; i++) {
+      const gchar *field_name = gst_structure_nth_field_name (s, i);
+      const GValue *field;
+
+      field = gst_structure_get_value (s, field_name);
+
+      if (GST_VALUE_HOLDS_INT_RANGE (field)) {
+        gint min, max;
+
+        min = gst_value_get_int_range_min (field);
+        max = gst_value_get_int_range_max (field);
+
+        if (min == 0 && max == G_MAXINT) {
+          gst_structure_remove_field (s, field_name);
+          removed_field = TRUE;
+          break;
+        }
+      } else if (GST_VALUE_HOLDS_LIST (field)) {
+        gint n2 = gst_value_list_get_size (field);
+
+        if (n2 == 2) {
+          const GValue *val1 = gst_value_list_get_value (field, 0);
+          const GValue *val2 = gst_value_list_get_value (field, 1);
+
+          if (G_VALUE_TYPE (val1) == G_TYPE_BOOLEAN
+              && G_VALUE_TYPE (val2) == G_TYPE_BOOLEAN
+              && ((g_value_get_boolean (val1) && !g_value_get_boolean (val2))
+                  || (!g_value_get_boolean (val1)
+                      && g_value_get_boolean (val2)))) {
+            gst_structure_remove_field (s, field_name);
+            removed_field = TRUE;
+            break;
+          }
+        }
+      } else if (GST_VALUE_HOLDS_ARRAY (field)) {
+        gint n2 = gst_value_array_get_size (field);
+
+        if (n2 == 2) {
+          const GValue *val1 = gst_value_array_get_value (field, 0);
+          const GValue *val2 = gst_value_array_get_value (field, 1);
+
+          if (G_VALUE_TYPE (val1) == G_TYPE_BOOLEAN
+              && G_VALUE_TYPE (val2) == G_TYPE_BOOLEAN
+              && ((g_value_get_boolean (val1) && !g_value_get_boolean (val2))
+                  || (!g_value_get_boolean (val1)
+                      && g_value_get_boolean (val2)))) {
+            gst_structure_remove_field (s, field_name);
+            removed_field = TRUE;
+            break;
+          }
+        }
+      }
+    }
+  } while (removed_field);
+}
+
+static void
+collect_codecs (GstElementFactory * factory)
+{
+  GstPadDirection direction;
+  gboolean encoder;
+  const gchar *klass;
+  const GList *static_templates, *l;
+  GstCaps *caps = NULL;
+  gint i, n;
+
+  klass = gst_element_factory_get_klass (factory);
+  g_return_if_fail (klass);
+
+  if (strstr (klass, "Demuxer") ||
+      strstr (klass, "Decoder") ||
+      strstr (klass, "Depay") || strstr (klass, "Parser")) {
+
+    /* Ignore decoders with a less than marginal rank as they're
+     * not autoplugged by playbin/decodebin */
+    if (gst_plugin_feature_get_rank (GST_PLUGIN_FEATURE (factory)) <
+        GST_RANK_MARGINAL)
+      return;
+
+    encoder = FALSE;
+    direction = GST_PAD_SINK;
+  } else if (strstr (klass, "Muxer") ||
+      strstr (klass, "Encoder") || strstr (klass, "Pay")) {
+    encoder = TRUE;
+    direction = GST_PAD_SRC;
+  } else if (strcmp (klass, "Sink/Audio") == 0) {
+    provides = g_list_prepend (provides, (gchar *) virtual_packages[0]);
+    return;
+  } else if (strcmp (klass, "Source/Audio") == 0) {
+    provides = g_list_prepend (provides, (gchar *) virtual_packages[1]);
+    return;
+  } else if (strcmp (klass, "Sink/Video") == 0) {
+    provides = g_list_prepend (provides, (gchar *) virtual_packages[2]);
+    return;
+  } else if (strcmp (klass, "Source/Video") == 0) {
+    provides = g_list_prepend (provides, (gchar *) virtual_packages[3]);
+    return;
+  } else if (strcmp (klass, "Visualization") == 0) {
+    provides = g_list_prepend (provides, (gchar *) virtual_packages[4]);
+    return;
+  } else {
+    return;
+  }
+
+  /* decoder/demuxer sink pads should always be static and there should only
+   * be one, the same applies to encoders/muxers and source pads */
+  static_templates = gst_element_factory_get_static_pad_templates (factory);
+  for (l = static_templates; l; l = l->next) {
+    GstStaticPadTemplate *tmpl = l->data;
+
+    if (tmpl->direction == direction) {
+      caps = gst_static_pad_template_get_caps (tmpl);
+      break;
+    }
+  }
+
+  if (caps == NULL) {
+    g_printerr ("W: Couldn't find static pad template for '%s'\n",
+        GST_OBJECT_NAME (factory));
+    return;
+  }
+
+  caps = gst_caps_make_writable (caps);
+  n = gst_caps_get_size (caps);
+  for (i = 0; i < n; i++) {
+    GstStructure *s = gst_caps_get_structure (caps, i);
+
+    /* make caps easier to interpret, remove common fields that are likely
+     * to be irrelevant for determining the right plugin (ie. mostly fields
+     * where template caps usually have the standard MIN - MAX range as value) */
+    gst_structure_remove_field (s, "codec_data");
+    gst_structure_remove_field (s, "palette_data");
+    gst_structure_remove_field (s, "pixel-aspect-ratio");
+    gst_structure_remove_field (s, "framerate");
+    gst_structure_remove_field (s, "leaf_size");
+    gst_structure_remove_field (s, "packet_size");
+    gst_structure_remove_field (s, "block_align");
+    gst_structure_remove_field (s, "metadata-interval");        /* icy caps */
+    /* decoders/encoders almost always handle the usual width/height/channel/rate
+     * range (and if we don't remove this then the app will have a much harder
+     * time blacklisting formats it has unsuccessfully tried to install before) */
+    gst_structure_remove_field (s, "width");
+    gst_structure_remove_field (s, "depth");
+    gst_structure_remove_field (s, "height");
+    gst_structure_remove_field (s, "channels");
+    gst_structure_remove_field (s, "rate");
+    /* rtp fields */
+    gst_structure_remove_field (s, "config");
+    gst_structure_remove_field (s, "clock-rate");
+    gst_structure_remove_field (s, "clock-base");
+    gst_structure_remove_field (s, "maxps");
+    gst_structure_remove_field (s, "seqnum-base");
+    gst_structure_remove_field (s, "npt-start");
+    gst_structure_remove_field (s, "npt-stop");
+    gst_structure_remove_field (s, "play-speed");
+    gst_structure_remove_field (s, "play-scale");
+    gst_structure_remove_field (s, "dynamic_range");
+
+    remove_min_max_fields (s);
+
+    gst_caps_append_structure ((encoder) ? encoders : decoders,
+        gst_structure_copy (s));
+  }
+
+  gst_caps_unref (caps);
+}
+
+static void
+collect_plugin_info (GstPlugin * plugin)
+{
+  GList *features, *l;
+  const gchar *plugin_name;
+
+  plugin_name = gst_plugin_get_name (plugin);
+
+  features = gst_registry_get_feature_list (gst_registry_get (),
+      GST_TYPE_ELEMENT_FACTORY);
+
+  for (l = features; l; l = l->next) {
+    GstPluginFeature *feature = GST_PLUGIN_FEATURE (l->data);
+    GstElementFactory *factory = GST_ELEMENT_FACTORY (feature);
+    GstPlugin *f_plugin = gst_plugin_feature_get_plugin (feature);
+
+    if (!f_plugin)
+      continue;
+    if (!g_str_equal (plugin_name, gst_plugin_get_name (f_plugin))) {
+      gst_object_unref (f_plugin);
+      continue;
+    }
+    gst_object_unref (f_plugin);
+
+    elements =
+        g_list_prepend (elements,
+        g_strdup (gst_plugin_feature_get_name (feature)));
+    collect_uri_protocols (factory);
+    collect_codecs (factory);
+  }
+
+  g_list_foreach (features, (GFunc) gst_object_unref, NULL);
+  g_list_free (features);
+}
+
+int
+main (int argc, char **argv)
+{
+  guint major, minor, micro, nano;
+  gint i;
+
+  if (!g_thread_supported ())
+    g_thread_init (NULL);
+
+  gst_init (NULL, NULL);
+
+  gst_version (&major, &minor, &micro, &nano);
+
+  if (argc == 1)
+    return 0;
+
+  encoders = gst_caps_new_empty ();
+  decoders = gst_caps_new_empty ();
+
+  for (i = 1; i < argc; i++) {
+    GstPlugin *plugin = NULL;
+    GError *error = NULL;
+
+    if (argv[i] == NULL ||
+        !g_file_test (argv[i], G_FILE_TEST_EXISTS) ||
+        !g_str_has_suffix (argv[i], G_MODULE_SUFFIX)) {
+      g_printerr ("W: '%s' is no valid plugin filename\n", argv[i]);
+      continue;
+    }
+
+    plugin = gst_plugin_load_file (argv[i], &error);
+
+    if (!plugin) {
+      g_printerr ("W: Could not load '%s': %s\n", argv[i], error->message);
+      g_error_free (error);
+      continue;
+    }
+
+    collect_plugin_info (plugin);
+  }
+
+  if (elements)
+    g_print ("gstreamer:Version=%u.%u\n", major, minor);
+
+  cleanup_plugin_info ();
+  print_plugin_info ();
+  free_plugin_info ();
+
+  return 0;
+}
diff --git a/debian/gstreamer-doc.install b/debian/gstreamer-doc.install
new file mode 100644
index 0000000..7879231
--- /dev/null
+++ b/debian/gstreamer-doc.install
@@ -0,0 +1 @@
+debian/tmp/usr/share/doc/@GST_PKGNAME@-doc
diff --git a/debian/gstreamer-doc.links b/debian/gstreamer-doc.links
new file mode 100644
index 0000000..32ab372
--- /dev/null
+++ b/debian/gstreamer-doc.links
@@ -0,0 +1,6 @@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-@GST_ABI@ /usr/share/devhelp/books/gstreamer-@GST_ABI@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-libs-@GST_ABI@ /usr/share/devhelp/books/gstreamer-libs-@GST_ABI@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-plugins-@GST_ABI@ /usr/share/devhelp/books/gstreamer-plugins-@GST_ABI@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-@GST_ABI@ /usr/share/gtk-doc/html/gstreamer-@GST_ABI@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-libs-@GST_ABI@ /usr/share/gtk-doc/html/gstreamer-libs-@GST_ABI@
+/usr/share/doc/@GST_PKGNAME@-doc/gstreamer-plugins-@GST_ABI@ /usr/share/gtk-doc/html/gstreamer-plugins-@GST_ABI@
diff --git a/debian/gstreamer-doc.lintian b/debian/gstreamer-doc.lintian
new file mode 100644
index 0000000..7ade982
--- /dev/null
+++ b/debian/gstreamer-doc.lintian
@@ -0,0 +1 @@
+@GST_PKGNAME@-doc: zero-byte-file-in-doc-directory usr/share/doc/@GST_PKGNAME@-doc/pwg/html/base.css
diff --git a/debian/gstreamer-tools-abi.install b/debian/gstreamer-tools-abi.install
new file mode 100644
index 0000000..6850f86
--- /dev/null
+++ b/debian/gstreamer-tools-abi.install
@@ -0,0 +1,5 @@
+debian/tmp/usr/bin/gst-inspect-@GST_ABI@
+debian/tmp/usr/bin/gst-launch-@GST_ABI@
+debian/tmp/usr/bin/gst-typefind-@GST_ABI@
+
+
diff --git a/debian/gstreamer-tools-abi.links b/debian/gstreamer-tools-abi.links
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/debian/gstreamer-tools-abi.links
@@ -0,0 +1,2 @@
+
+
diff --git a/debian/gstreamer-tools-abi.manpages b/debian/gstreamer-tools-abi.manpages
new file mode 100644
index 0000000..72d086d
--- /dev/null
+++ b/debian/gstreamer-tools-abi.manpages
@@ -0,0 +1,4 @@
+debian/tmp/usr/share/man/man1/gst-inspect-@GST_ABI@.1
+debian/tmp/usr/share/man/man1/gst-launch-@GST_ABI@.1
+debian/tmp/usr/share/man/man1/gst-typefind-@GST_ABI@.1
+
diff --git a/debian/gstreamer1.0-doc.doc-base.core-ref b/debian/gstreamer1.0-doc.doc-base.core-ref
new file mode 100644
index 0000000..e21f828
--- /dev/null
+++ b/debian/gstreamer1.0-doc.doc-base.core-ref
@@ -0,0 +1,8 @@
+Document: gstreamer-1.0-core-ref
+Title: GStreamer 1.0 Core Reference Manual
+Abstract: API documentation for the core of GStreamer 1.0.
+Section: Programming/C
+
+Format: HTML
+Files: /usr/share/doc/gstreamer1.0-doc/gstreamer-1.0/*.html
+Index: /usr/share/doc/gstreamer1.0-doc/gstreamer-1.0/index.html
diff --git a/debian/gstreamer1.0-doc.doc-base.faq b/debian/gstreamer1.0-doc.doc-base.faq
new file mode 100644
index 0000000..ab0fe7e
--- /dev/null
+++ b/debian/gstreamer1.0-doc.doc-base.faq
@@ -0,0 +1,9 @@
+Document: gstreamer-1.0-faq
+Title: GStreamer 1.0 FAQ
+Abstract: FAQ for GStreamer, a multimedia framework. Questions and answers
+ range from general information to deep-down-and-dirty compilation issues.
+Section: Help/FAQ
+
+Format: HTML
+Files: /usr/share/doc/gstreamer1.0-doc/faq/html/*.html
+Index: /usr/share/doc/gstreamer1.0-doc/faq/html/index.html
diff --git a/debian/gstreamer1.0-doc.doc-base.libs-ref b/debian/gstreamer1.0-doc.doc-base.libs-ref
new file mode 100644
index 0000000..6e854da
--- /dev/null
+++ b/debian/gstreamer1.0-doc.doc-base.libs-ref
@@ -0,0 +1,8 @@
+Document: gstreamer-1.0-libs-ref
+Title: GStreamer 1.0 Library Reference Manual
+Abstract: API documentation for libraries from GStreamer 1.0.
+Section: Programming/C
+
+Format: HTML
+Files: /usr/share/doc/gstreamer1.0-doc/gstreamer-libs-1.0/*.html
+Index: /usr/share/doc/gstreamer1.0-doc/gstreamer-libs-1.0/index.html
diff --git a/debian/gstreamer1.0-doc.doc-base.manual b/debian/gstreamer1.0-doc.doc-base.manual
new file mode 100644
index 0000000..20f99a3
--- /dev/null
+++ b/debian/gstreamer1.0-doc.doc-base.manual
@@ -0,0 +1,11 @@
+Document: gstreamer-1.0-manual
+Title: GStreamer 1.0 Application Development Manual
+Author: Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje
+Abstract: GStreamer is an extremely powerful and versatile framework for
+ creating streaming media applications. This guide is intended to help you
+ understand the GStreamer framework so you can develop applications based on it.
+Section: Programming
+
+Format: HTML
+Files: /usr/share/doc/gstreamer1.0-doc/manual/html/*.html
+Index: /usr/share/doc/gstreamer1.0-doc/manual/html/index.html
diff --git a/debian/gstreamer1.0-doc.doc-base.pwg b/debian/gstreamer1.0-doc.doc-base.pwg
new file mode 100644
index 0000000..2c2789e
--- /dev/null
+++ b/debian/gstreamer1.0-doc.doc-base.pwg
@@ -0,0 +1,14 @@
+Document: gstreamer-1.0-pwg
+Title: GStreamer Plugin Writer's Guide
+Author: Richard John Boulton, Erik Walthinsen, Steve Baker, Leif Johnson, Ronald S. Bultje
+Abstract:  This guide is intended to help you understand the GStreamer
+ framework so you can develop new plugins to extend the existing functionality.
+ The guide addresses most issues by following the development of an example
+ audio filter plugin, written in C. The later parts of the guide also present
+ some issues involved in writing other types of plugins, and the end of the
+ guide describes some of the Python bindings for GStreamer.
+Section: Programming
+
+Format: HTML
+Files: /usr/share/doc/gstreamer1.0-doc/pwg/html/*.html
+Index: /usr/share/doc/gstreamer1.0-doc/pwg/html/index.html
diff --git a/debian/libgstreamer-dev.install b/debian/libgstreamer-dev.install
new file mode 100644
index 0000000..1f7959f
--- /dev/null
+++ b/debian/libgstreamer-dev.install
@@ -0,0 +1,8 @@
+debian/tmp/usr/include
+debian/tmp/usr/lib/*/*.so
+debian/tmp/usr/lib/*/pkgconfig
+debian/tmp/usr/share/aclocal
+debian/tmp/usr/share/gir-*
+debian/tmp/usr/bin/gst-codec-info-@GST_ABI@
+debian/dh_gstscancodecs usr/bin
+debian/tmp/usr/share/man/man1/dh_gstscancodecs.1
diff --git a/debian/libgstreamer-dev.postrm b/debian/libgstreamer-dev.postrm
new file mode 100644
index 0000000..8b918aa
--- /dev/null
+++ b/debian/libgstreamer-dev.postrm
@@ -0,0 +1,15 @@
+#!/bin/sh
+set -e
+
+rm_diversion() {
+  dpkg-divert --package @GST_LIB_DEV@ --rename --remove "$1"
+}
+
+if [ "$1" = "remove" -o "$1" = "abort-install" -o "$1" = "disappear" ] ; then
+  rm_diversion /usr/bin/dh_gstscancodecs
+  rm_diversion /usr/share/man/man1/dh_gstscancodecs.1.gz
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libgstreamer-dev.preinst b/debian/libgstreamer-dev.preinst
new file mode 100644
index 0000000..86fd91c
--- /dev/null
+++ b/debian/libgstreamer-dev.preinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -e
+
+add_diversion() {
+  dpkg-divert --package @GST_LIB_DEV@ --add --rename \
+    --divert "$1-gst0.10" "$1"
+}
+
+if [ "$1" = "upgrade" ] || [ "$1" = "install" ]; then
+  add_diversion /usr/bin/dh_gstscancodecs
+  add_diversion /usr/share/man/man1/dh_gstscancodecs.1.gz
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libgstreamer.install b/debian/libgstreamer.install
new file mode 100644
index 0000000..b2cfb9b
--- /dev/null
+++ b/debian/libgstreamer.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/*.so
+debian/tmp/usr/lib/*/gstreamer@GST_ABI@/gstreamer-@GST_ABI@/gst-plugin-scanner
+debian/tmp/usr/lib/*/*.so.*
+debian/tmp/usr/share/locale
diff --git a/debian/libgstreamer.symbols b/debian/libgstreamer.symbols
new file mode 100644
index 0000000..81ca550
--- /dev/null
+++ b/debian/libgstreamer.symbols
@@ -0,0 +1,1649 @@
+libgstbase-1.0.so.0 libgstreamer1.0-0 #MINVER#
+ gst_adapter_available@Base 1.0.0
+ gst_adapter_available_fast@Base 1.0.0
+ gst_adapter_clear@Base 1.0.0
+ gst_adapter_copy@Base 1.0.0
+ gst_adapter_flush@Base 1.0.0
+ gst_adapter_get_type@Base 1.0.0
+ gst_adapter_map@Base 1.0.0
+ gst_adapter_masked_scan_uint32@Base 1.0.0
+ gst_adapter_masked_scan_uint32_peek@Base 1.0.0
+ gst_adapter_new@Base 1.0.0
+ gst_adapter_prev_dts@Base 1.0.0
+ gst_adapter_prev_pts@Base 1.0.0
+ gst_adapter_push@Base 1.0.0
+ gst_adapter_take@Base 1.0.0
+ gst_adapter_take_buffer@Base 1.0.0
+ gst_adapter_take_list@Base 1.0.0
+ gst_adapter_unmap@Base 1.0.0
+ gst_base_parse_add_index_entry@Base 1.0.0
+ gst_base_parse_convert_default@Base 1.0.0
+ gst_base_parse_finish_frame@Base 1.0.0
+ gst_base_parse_frame_free@Base 1.0.0
+ gst_base_parse_frame_get_type@Base 1.0.0
+ gst_base_parse_frame_init@Base 1.0.0
+ gst_base_parse_frame_new@Base 1.0.0
+ gst_base_parse_get_type@Base 1.0.0
+ gst_base_parse_push_frame@Base 1.0.0
+ gst_base_parse_set_average_bitrate@Base 1.0.0
+ gst_base_parse_set_duration@Base 1.0.0
+ gst_base_parse_set_frame_rate@Base 1.0.0
+ gst_base_parse_set_has_timing_info@Base 1.0.0
+ gst_base_parse_set_latency@Base 1.0.0
+ gst_base_parse_set_min_frame_size@Base 1.0.0
+ gst_base_parse_set_passthrough@Base 1.0.0
+ gst_base_parse_set_pts_interpolation@Base 1.0.0
+ gst_base_parse_set_syncable@Base 1.0.0
+ gst_base_sink_do_preroll@Base 1.0.0
+ gst_base_sink_get_blocksize@Base 1.0.0
+ gst_base_sink_get_last_sample@Base 1.0.0
+ gst_base_sink_get_latency@Base 1.0.0
+ gst_base_sink_get_max_lateness@Base 1.0.0
+ gst_base_sink_get_render_delay@Base 1.0.0
+ gst_base_sink_get_sync@Base 1.0.0
+ gst_base_sink_get_throttle_time@Base 1.0.0
+ gst_base_sink_get_ts_offset@Base 1.0.0
+ gst_base_sink_get_type@Base 1.0.0
+ gst_base_sink_is_async_enabled@Base 1.0.0
+ gst_base_sink_is_last_sample_enabled@Base 1.0.0
+ gst_base_sink_is_qos_enabled@Base 1.0.0
+ gst_base_sink_query_latency@Base 1.0.0
+ gst_base_sink_set_async_enabled@Base 1.0.0
+ gst_base_sink_set_blocksize@Base 1.0.0
+ gst_base_sink_set_last_sample_enabled@Base 1.0.0
+ gst_base_sink_set_max_lateness@Base 1.0.0
+ gst_base_sink_set_qos_enabled@Base 1.0.0
+ gst_base_sink_set_render_delay@Base 1.0.0
+ gst_base_sink_set_sync@Base 1.0.0
+ gst_base_sink_set_throttle_time@Base 1.0.0
+ gst_base_sink_set_ts_offset@Base 1.0.0
+ gst_base_sink_wait@Base 1.0.0
+ gst_base_sink_wait_clock@Base 1.0.0
+ gst_base_sink_wait_preroll@Base 1.0.0
+ gst_base_src_get_allocator@Base 1.0.0
+ gst_base_src_get_blocksize@Base 1.0.0
+ gst_base_src_get_buffer_pool@Base 1.0.0
+ gst_base_src_get_do_timestamp@Base 1.0.0
+ gst_base_src_get_type@Base 1.0.0
+ gst_base_src_is_async@Base 1.0.0
+ gst_base_src_is_live@Base 1.0.0
+ gst_base_src_new_seamless_segment@Base 1.0.0
+ gst_base_src_query_latency@Base 1.0.0
+ gst_base_src_set_async@Base 1.0.0
+ gst_base_src_set_blocksize@Base 1.0.0
+ gst_base_src_set_caps@Base 1.0.0
+ gst_base_src_set_do_timestamp@Base 1.0.0
+ gst_base_src_set_dynamic_size@Base 1.0.0
+ gst_base_src_set_format@Base 1.0.0
+ gst_base_src_set_live@Base 1.0.0
+ gst_base_src_start_complete@Base 1.0.0
+ gst_base_src_start_wait@Base 1.0.0
+ gst_base_src_wait_playing@Base 1.0.0
+ gst_base_transform_get_allocator@Base 1.0.0
+ gst_base_transform_get_buffer_pool@Base 1.0.0
+ gst_base_transform_get_type@Base 1.0.0
+ gst_base_transform_is_in_place@Base 1.0.0
+ gst_base_transform_is_passthrough@Base 1.0.0
+ gst_base_transform_is_qos_enabled@Base 1.0.0
+ gst_base_transform_reconfigure_sink@Base 1.0.0
+ gst_base_transform_reconfigure_src@Base 1.0.0
+ gst_base_transform_set_gap_aware@Base 1.0.0
+ gst_base_transform_set_in_place@Base 1.0.0
+ gst_base_transform_set_passthrough@Base 1.0.0
+ gst_base_transform_set_qos_enabled@Base 1.0.0
+ gst_base_transform_update_qos@Base 1.0.0
+ gst_bit_reader_free@Base 1.0.0
+ gst_bit_reader_get_bits_uint16@Base 1.0.0
+ gst_bit_reader_get_bits_uint32@Base 1.0.0
+ gst_bit_reader_get_bits_uint64@Base 1.0.0
+ gst_bit_reader_get_bits_uint8@Base 1.0.0
+ gst_bit_reader_get_pos@Base 1.0.0
+ gst_bit_reader_get_remaining@Base 1.0.0
+ gst_bit_reader_get_size@Base 1.0.0
+ gst_bit_reader_init@Base 1.0.0
+ gst_bit_reader_new@Base 1.0.0
+ gst_bit_reader_peek_bits_uint16@Base 1.0.0
+ gst_bit_reader_peek_bits_uint32@Base 1.0.0
+ gst_bit_reader_peek_bits_uint64@Base 1.0.0
+ gst_bit_reader_peek_bits_uint8@Base 1.0.0
+ gst_bit_reader_set_pos@Base 1.0.0
+ gst_bit_reader_skip@Base 1.0.0
+ gst_bit_reader_skip_to_byte@Base 1.0.0
+ gst_byte_reader_dup_data@Base 1.0.0
+ gst_byte_reader_dup_string_utf16@Base 1.0.0
+ gst_byte_reader_dup_string_utf32@Base 1.0.0
+ gst_byte_reader_dup_string_utf8@Base 1.0.0
+ gst_byte_reader_free@Base 1.0.0
+ gst_byte_reader_get_data@Base 1.0.0
+ gst_byte_reader_get_float32_be@Base 1.0.0
+ gst_byte_reader_get_float32_le@Base 1.0.0
+ gst_byte_reader_get_float64_be@Base 1.0.0
+ gst_byte_reader_get_float64_le@Base 1.0.0
+ gst_byte_reader_get_int16_be@Base 1.0.0
+ gst_byte_reader_get_int16_le@Base 1.0.0
+ gst_byte_reader_get_int24_be@Base 1.0.0
+ gst_byte_reader_get_int24_le@Base 1.0.0
+ gst_byte_reader_get_int32_be@Base 1.0.0
+ gst_byte_reader_get_int32_le@Base 1.0.0
+ gst_byte_reader_get_int64_be@Base 1.0.0
+ gst_byte_reader_get_int64_le@Base 1.0.0
+ gst_byte_reader_get_int8@Base 1.0.0
+ gst_byte_reader_get_pos@Base 1.0.0
+ gst_byte_reader_get_remaining@Base 1.0.0
+ gst_byte_reader_get_size@Base 1.0.0
+ gst_byte_reader_get_string_utf8@Base 1.0.0
+ gst_byte_reader_get_uint16_be@Base 1.0.0
+ gst_byte_reader_get_uint16_le@Base 1.0.0
+ gst_byte_reader_get_uint24_be@Base 1.0.0
+ gst_byte_reader_get_uint24_le@Base 1.0.0
+ gst_byte_reader_get_uint32_be@Base 1.0.0
+ gst_byte_reader_get_uint32_le@Base 1.0.0
+ gst_byte_reader_get_uint64_be@Base 1.0.0
+ gst_byte_reader_get_uint64_le@Base 1.0.0
+ gst_byte_reader_get_uint8@Base 1.0.0
+ gst_byte_reader_init@Base 1.0.0
+ gst_byte_reader_masked_scan_uint32@Base 1.0.0
+ gst_byte_reader_new@Base 1.0.0
+ gst_byte_reader_peek_data@Base 1.0.0
+ gst_byte_reader_peek_float32_be@Base 1.0.0
+ gst_byte_reader_peek_float32_le@Base 1.0.0
+ gst_byte_reader_peek_float64_be@Base 1.0.0
+ gst_byte_reader_peek_float64_le@Base 1.0.0
+ gst_byte_reader_peek_int16_be@Base 1.0.0
+ gst_byte_reader_peek_int16_le@Base 1.0.0
+ gst_byte_reader_peek_int24_be@Base 1.0.0
+ gst_byte_reader_peek_int24_le@Base 1.0.0
+ gst_byte_reader_peek_int32_be@Base 1.0.0
+ gst_byte_reader_peek_int32_le@Base 1.0.0
+ gst_byte_reader_peek_int64_be@Base 1.0.0
+ gst_byte_reader_peek_int64_le@Base 1.0.0
+ gst_byte_reader_peek_int8@Base 1.0.0
+ gst_byte_reader_peek_string_utf8@Base 1.0.0
+ gst_byte_reader_peek_uint16_be@Base 1.0.0
+ gst_byte_reader_peek_uint16_le@Base 1.0.0
+ gst_byte_reader_peek_uint24_be@Base 1.0.0
+ gst_byte_reader_peek_uint24_le@Base 1.0.0
+ gst_byte_reader_peek_uint32_be@Base 1.0.0
+ gst_byte_reader_peek_uint32_le@Base 1.0.0
+ gst_byte_reader_peek_uint64_be@Base 1.0.0
+ gst_byte_reader_peek_uint64_le@Base 1.0.0
+ gst_byte_reader_peek_uint8@Base 1.0.0
+ gst_byte_reader_set_pos@Base 1.0.0
+ gst_byte_reader_skip@Base 1.0.0
+ gst_byte_reader_skip_string_utf16@Base 1.0.0
+ gst_byte_reader_skip_string_utf32@Base 1.0.0
+ gst_byte_reader_skip_string_utf8@Base 1.0.0
+ gst_byte_writer_ensure_free_space@Base 1.0.0
+ gst_byte_writer_fill@Base 1.0.0
+ gst_byte_writer_free@Base 1.0.0
+ gst_byte_writer_free_and_get_buffer@Base 1.0.0
+ gst_byte_writer_free_and_get_data@Base 1.0.0
+ gst_byte_writer_get_remaining@Base 1.0.0
+ gst_byte_writer_init@Base 1.0.0
+ gst_byte_writer_init_with_data@Base 1.0.0
+ gst_byte_writer_init_with_size@Base 1.0.0
+ gst_byte_writer_new@Base 1.0.0
+ gst_byte_writer_new_with_data@Base 1.0.0
+ gst_byte_writer_new_with_size@Base 1.0.0
+ gst_byte_writer_put_data@Base 1.0.0
+ gst_byte_writer_put_float32_be@Base 1.0.0
+ gst_byte_writer_put_float32_le@Base 1.0.0
+ gst_byte_writer_put_float64_be@Base 1.0.0
+ gst_byte_writer_put_float64_le@Base 1.0.0
+ gst_byte_writer_put_int16_be@Base 1.0.0
+ gst_byte_writer_put_int16_le@Base 1.0.0
+ gst_byte_writer_put_int24_be@Base 1.0.0
+ gst_byte_writer_put_int24_le@Base 1.0.0
+ gst_byte_writer_put_int32_be@Base 1.0.0
+ gst_byte_writer_put_int32_le@Base 1.0.0
+ gst_byte_writer_put_int64_be@Base 1.0.0
+ gst_byte_writer_put_int64_le@Base 1.0.0
+ gst_byte_writer_put_int8@Base 1.0.0
+ gst_byte_writer_put_string_utf16@Base 1.0.0
+ gst_byte_writer_put_string_utf32@Base 1.0.0
+ gst_byte_writer_put_string_utf8@Base 1.0.0
+ gst_byte_writer_put_uint16_be@Base 1.0.0
+ gst_byte_writer_put_uint16_le@Base 1.0.0
+ gst_byte_writer_put_uint24_be@Base 1.0.0
+ gst_byte_writer_put_uint24_le@Base 1.0.0
+ gst_byte_writer_put_uint32_be@Base 1.0.0
+ gst_byte_writer_put_uint32_le@Base 1.0.0
+ gst_byte_writer_put_uint64_be@Base 1.0.0
+ gst_byte_writer_put_uint64_le@Base 1.0.0
+ gst_byte_writer_put_uint8@Base 1.0.0
+ gst_byte_writer_reset@Base 1.0.0
+ gst_byte_writer_reset_and_get_buffer@Base 1.0.0
+ gst_byte_writer_reset_and_get_data@Base 1.0.0
+ gst_collect_pads_add_pad@Base 1.0.0
+ gst_collect_pads_available@Base 1.0.0
+ gst_collect_pads_clip_running_time@Base 1.0.0
+ gst_collect_pads_event_default@Base 1.0.0
+ gst_collect_pads_flush@Base 1.0.0
+ gst_collect_pads_get_type@Base 1.0.0
+ gst_collect_pads_new@Base 1.0.0
+ gst_collect_pads_peek@Base 1.0.0
+ gst_collect_pads_pop@Base 1.0.0
+ gst_collect_pads_query_default@Base 1.0.0
+ gst_collect_pads_read_buffer@Base 1.0.0
+ gst_collect_pads_remove_pad@Base 1.0.0
+ gst_collect_pads_set_buffer_function@Base 1.0.0
+ gst_collect_pads_set_clip_function@Base 1.0.0
+ gst_collect_pads_set_compare_function@Base 1.0.0
+ gst_collect_pads_set_event_function@Base 1.0.0
+ gst_collect_pads_set_flushing@Base 1.0.0
+ gst_collect_pads_set_function@Base 1.0.0
+ gst_collect_pads_set_query_function@Base 1.0.0
+ gst_collect_pads_set_waiting@Base 1.0.0
+ gst_collect_pads_start@Base 1.0.0
+ gst_collect_pads_stop@Base 1.0.0
+ gst_collect_pads_take_buffer@Base 1.0.0
+ gst_push_src_get_type@Base 1.0.0
+ gst_type_find_helper@Base 1.0.0
+ gst_type_find_helper_for_buffer@Base 1.0.0
+ gst_type_find_helper_for_data@Base 1.0.0
+ gst_type_find_helper_for_extension@Base 1.0.0
+ gst_type_find_helper_get_range@Base 1.0.0
+libgstcheck-1.0.so.0 libgstreamer1.0-0 #MINVER#
+ _fail_unless@Base 1.0.0
+ _gst_check_expecting_log@Base 1.0.0
+ _gst_check_raised_critical@Base 1.0.0
+ _gst_check_raised_warning@Base 1.0.0
+ _gst_check_run_test_func@Base 1.0.0
+ _gst_check_threads_running@Base 1.0.0
+ _mark_point@Base 1.0.0
+ _tcase_add_test@Base 1.0.0
+ buffers@Base 1.0.0
+ check_cond@Base 1.0.0
+ check_debug@Base 1.0.0
+ check_fork@Base 1.0.0
+ check_major_version@Base 1.0.0
+ check_micro_version@Base 1.0.0
+ check_minor_version@Base 1.0.0
+ check_mutex@Base 1.0.0
+ check_waitpid_and_exit@Base 1.0.0
+ gst_buffer_straw_get_buffer@Base 1.0.0
+ gst_buffer_straw_start_pipeline@Base 1.0.0
+ gst_buffer_straw_stop_pipeline@Base 1.0.0
+ gst_check_abi_list@Base 1.0.0
+ gst_check_buffer_data@Base 1.0.0
+ gst_check_caps_equal@Base 1.0.0
+ gst_check_chain_func@Base 1.0.0
+ gst_check_drop_buffers@Base 1.0.0
+ gst_check_element_push_buffer@Base 1.0.0
+ gst_check_element_push_buffer_list@Base 1.0.0
+ gst_check_init@Base 1.0.0
+ gst_check_message_error@Base 1.0.0
+ gst_check_run_suite@Base 1.0.0
+ gst_check_setup_element@Base 1.0.0
+ gst_check_setup_sink_pad@Base 1.0.0
+ gst_check_setup_sink_pad_by_name@Base 1.0.0
+ gst_check_setup_src_pad@Base 1.0.0
+ gst_check_setup_src_pad_by_name@Base 1.0.0
+ gst_check_teardown_element@Base 1.0.0
+ gst_check_teardown_pad_by_name@Base 1.0.0
+ gst_check_teardown_sink_pad@Base 1.0.0
+ gst_check_teardown_src_pad@Base 1.0.0
+ gst_consistency_checker_add_pad@Base 1.0.0
+ gst_consistency_checker_free@Base 1.0.0
+ gst_consistency_checker_new@Base 1.0.0
+ gst_consistency_checker_reset@Base 1.0.0
+ mutex@Base 1.0.0
+ srunner_add_suite@Base 1.0.0
+ srunner_create@Base 1.0.0
+ srunner_failures@Base 1.0.0
+ srunner_fork_status@Base 1.0.0
+ srunner_free@Base 1.0.0
+ srunner_has_log@Base 1.0.0
+ srunner_has_xml@Base 1.0.0
+ srunner_log_fname@Base 1.0.0
+ srunner_ntests_failed@Base 1.0.0
+ srunner_ntests_run@Base 1.0.0
+ srunner_print@Base 1.0.0
+ srunner_results@Base 1.0.0
+ srunner_run_all@Base 1.0.0
+ srunner_set_fork_status@Base 1.0.0
+ srunner_set_log@Base 1.0.0
+ srunner_set_xml@Base 1.0.0
+ srunner_xml_fname@Base 1.0.0
+ start_cond@Base 1.0.0
+ suite_add_tcase@Base 1.0.0
+ suite_create@Base 1.0.0
+ sync_cond@Base 1.0.0
+ tcase_add_checked_fixture@Base 1.0.0
+ tcase_add_unchecked_fixture@Base 1.0.0
+ tcase_create@Base 1.0.0
+ tcase_fn_start@Base 1.0.0
+ tcase_set_timeout@Base 1.0.0
+ thread_list@Base 1.0.0
+ tr_ctx@Base 1.0.0
+ tr_lfile@Base 1.0.0
+ tr_lno@Base 1.0.0
+ tr_msg@Base 1.0.0
+ tr_rtype@Base 1.0.0
+ tr_tcname@Base 1.0.0
+libgstcontroller-1.0.so.0 libgstreamer1.0-0 #MINVER#
+ gst_argb_control_binding_get_type@Base 1.0.0
+ gst_argb_control_binding_new@Base 1.0.0
+ gst_direct_control_binding_get_type@Base 1.0.0
+ gst_direct_control_binding_new@Base 1.0.0
+ gst_interpolation_control_source_get_type@Base 1.0.0
+ gst_interpolation_control_source_new@Base 1.0.0
+ gst_interpolation_mode_get_type@Base 1.0.0
+ gst_lfo_control_source_get_type@Base 1.0.0
+ gst_lfo_control_source_new@Base 1.0.0
+ gst_lfo_waveform_get_type@Base 1.0.0
+ gst_timed_value_control_invalidate_cache@Base 1.0.0
+ gst_timed_value_control_source_find_control_point_iter@Base 1.0.0
+ gst_timed_value_control_source_get_all@Base 1.0.0
+ gst_timed_value_control_source_get_count@Base 1.0.0
+ gst_timed_value_control_source_get_type@Base 1.0.0
+ gst_timed_value_control_source_set@Base 1.0.0
+ gst_timed_value_control_source_set_from_list@Base 1.0.0
+ gst_timed_value_control_source_unset@Base 1.0.0
+ gst_timed_value_control_source_unset_all@Base 1.0.0
+ gst_trigger_control_source_get_type@Base 1.0.0
+ gst_trigger_control_source_new@Base 1.0.0
+libgstnet-1.0.so.0 libgstreamer1.0-0 #MINVER#
+ gst_buffer_add_net_address_meta@Base 1.0.0
+ gst_net_address_meta_api_get_type@Base 1.0.0
+ gst_net_address_meta_get_info@Base 1.0.0
+ gst_net_client_clock_get_type@Base 1.0.0
+ gst_net_client_clock_new@Base 1.0.0
+ gst_net_time_packet_copy@Base 1.0.0
+ gst_net_time_packet_free@Base 1.0.0
+ gst_net_time_packet_get_type@Base 1.0.0
+ gst_net_time_packet_new@Base 1.0.0
+ gst_net_time_packet_receive@Base 1.0.0
+ gst_net_time_packet_send@Base 1.0.0
+ gst_net_time_packet_serialize@Base 1.0.0
+ gst_net_time_provider_get_type@Base 1.0.0
+ gst_net_time_provider_new@Base 1.0.0
+libgstreamer-1.0.so.0 libgstreamer1.0-0 #MINVER#
+ GST_CAT_BUFFER@Base 1.0.0
+ GST_CAT_BUFFER_LIST@Base 1.0.0
+ GST_CAT_BUS@Base 1.0.0
+ GST_CAT_CALL_TRACE@Base 1.0.0
+ GST_CAT_CAPS@Base 1.0.0
+ GST_CAT_CLOCK@Base 1.0.0
+ GST_CAT_DEFAULT@Base 1.0.0
+ GST_CAT_ELEMENT_PADS@Base 1.0.0
+ GST_CAT_ERROR_SYSTEM@Base 1.0.0
+ GST_CAT_EVENT@Base 1.0.0
+ GST_CAT_GST_INIT@Base 1.0.0
+ GST_CAT_LOCKING@Base 1.0.0
+ GST_CAT_MEMORY@Base 1.0.0
+ GST_CAT_MESSAGE@Base 1.0.0
+ GST_CAT_META@Base 1.0.0
+ GST_CAT_NEGOTIATION@Base 1.0.0
+ GST_CAT_PADS@Base 1.0.0
+ GST_CAT_PARAMS@Base 1.0.0
+ GST_CAT_PARENTAGE@Base 1.0.0
+ GST_CAT_PERFORMANCE@Base 1.0.0
+ GST_CAT_PIPELINE@Base 1.0.0
+ GST_CAT_PLUGIN_INFO@Base 1.0.0
+ GST_CAT_PLUGIN_LOADING@Base 1.0.0
+ GST_CAT_PROBE@Base 1.0.0
+ GST_CAT_PROPERTIES@Base 1.0.0
+ GST_CAT_QOS@Base 1.0.0
+ GST_CAT_REFCOUNTING@Base 1.0.0
+ GST_CAT_REGISTRY@Base 1.0.0
+ GST_CAT_SCHEDULING@Base 1.0.0
+ GST_CAT_SIGNAL@Base 1.0.0
+ GST_CAT_STATES@Base 1.0.0
+ _gst_buffer_list_type@Base 1.0.0
+ _gst_buffer_type@Base 1.0.0
+ _gst_caps_any@Base 1.0.0
+ _gst_caps_none@Base 1.0.0
+ _gst_caps_type@Base 1.0.0
+ _gst_debug_category_new@Base 1.0.0
+ _gst_debug_dump_mem@Base 1.0.0
+ _gst_debug_enabled@Base 1.0.0
+ _gst_debug_get_category@Base 1.0.0
+ _gst_debug_min@Base 1.0.0
+ _gst_debug_nameof_funcptr@Base 1.0.0
+ _gst_debug_register_funcptr@Base 1.0.0
+ _gst_disable_registry_cache@Base 1.0.0
+ _gst_element_error_printf@Base 1.0.0
+ _gst_event_type@Base 1.0.0
+ _gst_meta_tag_memory@Base 1.0.0
+ _gst_meta_transform_copy@Base 1.0.0
+ _gst_plugin_loader_client_run@Base 1.0.0
+ _gst_sample_type@Base 1.0.0
+ _gst_structure_type@Base 1.0.0
+ _gst_trace_mutex@Base 1.0.0
+ gst_allocation_params_copy@Base 1.0.0
+ gst_allocation_params_free@Base 1.0.0
+ gst_allocation_params_get_type@Base 1.0.0
+ gst_allocation_params_init@Base 1.0.0
+ gst_allocator_alloc@Base 1.0.0
+ gst_allocator_find@Base 1.0.0
+ gst_allocator_flags_get_type@Base 1.0.0
+ gst_allocator_free@Base 1.0.0
+ gst_allocator_get_type@Base 1.0.0
+ gst_allocator_register@Base 1.0.0
+ gst_allocator_set_default@Base 1.0.0
+ gst_atomic_queue_get_type@Base 1.0.0
+ gst_atomic_queue_length@Base 1.0.0
+ gst_atomic_queue_new@Base 1.0.0
+ gst_atomic_queue_peek@Base 1.0.0
+ gst_atomic_queue_pop@Base 1.0.0
+ gst_atomic_queue_push@Base 1.0.0
+ gst_atomic_queue_ref@Base 1.0.0
+ gst_atomic_queue_unref@Base 1.0.0
+ gst_bin_add@Base 1.0.0
+ gst_bin_add_many@Base 1.0.0
+ gst_bin_find_unlinked_pad@Base 1.0.0
+ gst_bin_flags_get_type@Base 1.0.0
+ gst_bin_get_by_interface@Base 1.0.0
+ gst_bin_get_by_name@Base 1.0.0
+ gst_bin_get_by_name_recurse_up@Base 1.0.0
+ gst_bin_get_type@Base 1.0.0
+ gst_bin_iterate_all_by_interface@Base 1.0.0
+ gst_bin_iterate_elements@Base 1.0.0
+ gst_bin_iterate_recurse@Base 1.0.0
+ gst_bin_iterate_sinks@Base 1.0.0
+ gst_bin_iterate_sorted@Base 1.0.0
+ gst_bin_iterate_sources@Base 1.0.0
+ gst_bin_new@Base 1.0.0
+ gst_bin_recalculate_latency@Base 1.0.0
+ gst_bin_remove@Base 1.0.0
+ gst_bin_remove_many@Base 1.0.0
+ gst_bitmask_get_type@Base 1.0.0
+ gst_buffer_add_meta@Base 1.0.0
+ gst_buffer_append@Base 1.0.0
+ gst_buffer_append_memory@Base 1.0.0
+ gst_buffer_append_region@Base 1.0.0
+ gst_buffer_copy_flags_get_type@Base 1.0.0
+ gst_buffer_copy_into@Base 1.0.0
+ gst_buffer_copy_region@Base 1.0.0
+ gst_buffer_extract@Base 1.0.0
+ gst_buffer_fill@Base 1.0.0
+ gst_buffer_find_memory@Base 1.0.0
+ gst_buffer_flags_get_type@Base 1.0.0
+ gst_buffer_foreach_meta@Base 1.0.0
+ gst_buffer_get_all_memory@Base 1.0.0
+ gst_buffer_get_memory@Base 1.0.0
+ gst_buffer_get_memory_range@Base 1.0.0
+ gst_buffer_get_meta@Base 1.0.0
+ gst_buffer_get_size@Base 1.0.0
+ gst_buffer_get_sizes@Base 1.0.0
+ gst_buffer_get_sizes_range@Base 1.0.0
+ gst_buffer_get_type@Base 1.0.0
+ gst_buffer_insert_memory@Base 1.0.0
+ gst_buffer_iterate_meta@Base 1.0.0
+ gst_buffer_list_foreach@Base 1.0.0
+ gst_buffer_list_get@Base 1.0.0
+ gst_buffer_list_get_type@Base 1.0.0
+ gst_buffer_list_insert@Base 1.0.0
+ gst_buffer_list_length@Base 1.0.0
+ gst_buffer_list_new@Base 1.0.0
+ gst_buffer_list_new_sized@Base 1.0.0
+ gst_buffer_list_remove@Base 1.0.0
+ gst_buffer_map@Base 1.0.0
+ gst_buffer_map_range@Base 1.0.0
+ gst_buffer_memcmp@Base 1.0.0
+ gst_buffer_memset@Base 1.0.0
+ gst_buffer_n_memory@Base 1.0.0
+ gst_buffer_new@Base 1.0.0
+ gst_buffer_new_allocate@Base 1.0.0
+ gst_buffer_new_wrapped@Base 1.0.0
+ gst_buffer_new_wrapped_full@Base 1.0.0
+ gst_buffer_peek_memory@Base 1.0.0
+ gst_buffer_pool_acquire_buffer@Base 1.0.0
+ gst_buffer_pool_acquire_flags_get_type@Base 1.0.0
+ gst_buffer_pool_config_add_option@Base 1.0.0
+ gst_buffer_pool_config_get_allocator@Base 1.0.0
+ gst_buffer_pool_config_get_option@Base 1.0.0
+ gst_buffer_pool_config_get_params@Base 1.0.0
+ gst_buffer_pool_config_has_option@Base 1.0.0
+ gst_buffer_pool_config_n_options@Base 1.0.0
+ gst_buffer_pool_config_set_allocator@Base 1.0.0
+ gst_buffer_pool_config_set_params@Base 1.0.0
+ gst_buffer_pool_get_config@Base 1.0.0
+ gst_buffer_pool_get_options@Base 1.0.0
+ gst_buffer_pool_get_type@Base 1.0.0
+ gst_buffer_pool_has_option@Base 1.0.0
+ gst_buffer_pool_is_active@Base 1.0.0
+ gst_buffer_pool_new@Base 1.0.0
+ gst_buffer_pool_release_buffer@Base 1.0.0
+ gst_buffer_pool_set_active@Base 1.0.0
+ gst_buffer_pool_set_config@Base 1.0.0
+ gst_buffer_prepend_memory@Base 1.0.0
+ gst_buffer_remove_all_memory@Base 1.0.0
+ gst_buffer_remove_memory@Base 1.0.0
+ gst_buffer_remove_memory_range@Base 1.0.0
+ gst_buffer_remove_meta@Base 1.0.0
+ gst_buffer_replace_all_memory@Base 1.0.0
+ gst_buffer_replace_memory@Base 1.0.0
+ gst_buffer_replace_memory_range@Base 1.0.0
+ gst_buffer_resize@Base 1.0.0
+ gst_buffer_resize_range@Base 1.0.0
+ gst_buffer_set_size@Base 1.0.0
+ gst_buffer_unmap@Base 1.0.0
+ gst_buffering_mode_get_type@Base 1.0.0
+ gst_bus_add_signal_watch@Base 1.0.0
+ gst_bus_add_signal_watch_full@Base 1.0.0
+ gst_bus_add_watch@Base 1.0.0
+ gst_bus_add_watch_full@Base 1.0.0
+ gst_bus_async_signal_func@Base 1.0.0
+ gst_bus_create_watch@Base 1.0.0
+ gst_bus_disable_sync_message_emission@Base 1.0.0
+ gst_bus_enable_sync_message_emission@Base 1.0.0
+ gst_bus_flags_get_type@Base 1.0.0
+ gst_bus_get_type@Base 1.0.0
+ gst_bus_have_pending@Base 1.0.0
+ gst_bus_new@Base 1.0.0
+ gst_bus_peek@Base 1.0.0
+ gst_bus_poll@Base 1.0.0
+ gst_bus_pop@Base 1.0.0
+ gst_bus_pop_filtered@Base 1.0.0
+ gst_bus_post@Base 1.0.0
+ gst_bus_remove_signal_watch@Base 1.0.0
+ gst_bus_set_flushing@Base 1.0.0
+ gst_bus_set_sync_handler@Base 1.0.0
+ gst_bus_sync_reply_get_type@Base 1.0.0
+ gst_bus_sync_signal_handler@Base 1.0.0
+ gst_bus_timed_pop@Base 1.0.0
+ gst_bus_timed_pop_filtered@Base 1.0.0
+ gst_caps_append@Base 1.0.0
+ gst_caps_append_structure@Base 1.0.0
+ gst_caps_can_intersect@Base 1.0.0
+ gst_caps_copy_nth@Base 1.0.0
+ gst_caps_fixate@Base 1.0.0
+ gst_caps_flags_get_type@Base 1.0.0
+ gst_caps_from_string@Base 1.0.0
+ gst_caps_get_size@Base 1.0.0
+ gst_caps_get_structure@Base 1.0.0
+ gst_caps_get_type@Base 1.0.0
+ gst_caps_intersect@Base 1.0.0
+ gst_caps_intersect_full@Base 1.0.0
+ gst_caps_intersect_mode_get_type@Base 1.0.0
+ gst_caps_is_always_compatible@Base 1.0.0
+ gst_caps_is_any@Base 1.0.0
+ gst_caps_is_empty@Base 1.0.0
+ gst_caps_is_equal@Base 1.0.0
+ gst_caps_is_equal_fixed@Base 1.0.0
+ gst_caps_is_fixed@Base 1.0.0
+ gst_caps_is_strictly_equal@Base 1.0.0
+ gst_caps_is_subset@Base 1.0.0
+ gst_caps_is_subset_structure@Base 1.0.0
+ gst_caps_merge@Base 1.0.0
+ gst_caps_merge_structure@Base 1.0.0
+ gst_caps_new_any@Base 1.0.0
+ gst_caps_new_empty@Base 1.0.0
+ gst_caps_new_empty_simple@Base 1.0.0
+ gst_caps_new_full@Base 1.0.0
+ gst_caps_new_full_valist@Base 1.0.0
+ gst_caps_new_simple@Base 1.0.0
+ gst_caps_normalize@Base 1.0.0
+ gst_caps_remove_structure@Base 1.0.0
+ gst_caps_set_simple@Base 1.0.0
+ gst_caps_set_simple_valist@Base 1.0.0
+ gst_caps_set_value@Base 1.0.0
+ gst_caps_simplify@Base 1.0.0
+ gst_caps_steal_structure@Base 1.0.0
+ gst_caps_subtract@Base 1.0.0
+ gst_caps_to_string@Base 1.0.0
+ gst_caps_truncate@Base 1.0.0
+ gst_child_proxy_child_added@Base 1.0.0
+ gst_child_proxy_child_removed@Base 1.0.0
+ gst_child_proxy_get@Base 1.0.0
+ gst_child_proxy_get_child_by_index@Base 1.0.0
+ gst_child_proxy_get_child_by_name@Base 1.0.0
+ gst_child_proxy_get_children_count@Base 1.0.0
+ gst_child_proxy_get_property@Base 1.0.0
+ gst_child_proxy_get_type@Base 1.0.0
+ gst_child_proxy_get_valist@Base 1.0.0
+ gst_child_proxy_lookup@Base 1.0.0
+ gst_child_proxy_set@Base 1.0.0
+ gst_child_proxy_set_property@Base 1.0.0
+ gst_child_proxy_set_valist@Base 1.0.0
+ gst_clock_add_observation@Base 1.0.0
+ gst_clock_adjust_unlocked@Base 1.0.0
+ gst_clock_entry_type_get_type@Base 1.0.0
+ gst_clock_flags_get_type@Base 1.0.0
+ gst_clock_get_calibration@Base 1.0.0
+ gst_clock_get_internal_time@Base 1.0.0
+ gst_clock_get_master@Base 1.0.0
+ gst_clock_get_resolution@Base 1.0.0
+ gst_clock_get_time@Base 1.0.0
+ gst_clock_get_timeout@Base 1.0.0
+ gst_clock_get_type@Base 1.0.0
+ gst_clock_id_compare_func@Base 1.0.0
+ gst_clock_id_get_time@Base 1.0.0
+ gst_clock_id_ref@Base 1.0.0
+ gst_clock_id_unref@Base 1.0.0
+ gst_clock_id_unschedule@Base 1.0.0
+ gst_clock_id_wait@Base 1.0.0
+ gst_clock_id_wait_async@Base 1.0.0
+ gst_clock_new_periodic_id@Base 1.0.0
+ gst_clock_new_single_shot_id@Base 1.0.0
+ gst_clock_periodic_id_reinit@Base 1.0.0
+ gst_clock_return_get_type@Base 1.0.0
+ gst_clock_set_calibration@Base 1.0.0
+ gst_clock_set_master@Base 1.0.0
+ gst_clock_set_resolution@Base 1.0.0
+ gst_clock_set_timeout@Base 1.0.0
+ gst_clock_single_shot_id_reinit@Base 1.0.0
+ gst_clock_type_get_type@Base 1.0.0
+ gst_clock_unadjust_unlocked@Base 1.0.0
+ gst_control_binding_get_g_value_array@Base 1.0.0
+ gst_control_binding_get_type@Base 1.0.0
+ gst_control_binding_get_value@Base 1.0.0
+ gst_control_binding_get_value_array@Base 1.0.0
+ gst_control_binding_is_disabled@Base 1.0.0
+ gst_control_binding_set_disabled@Base 1.0.0
+ gst_control_binding_sync_values@Base 1.0.0
+ gst_control_source_get_type@Base 1.0.0
+ gst_control_source_get_value@Base 1.0.0
+ gst_control_source_get_value_array@Base 1.0.0
+ gst_core_error_get_type@Base 1.0.0
+ gst_core_error_quark@Base 1.0.0
+ gst_date_time_get_day@Base 1.0.0
+ gst_date_time_get_hour@Base 1.0.0
+ gst_date_time_get_microsecond@Base 1.0.0
+ gst_date_time_get_minute@Base 1.0.0
+ gst_date_time_get_month@Base 1.0.0
+ gst_date_time_get_second@Base 1.0.0
+ gst_date_time_get_time_zone_offset@Base 1.0.0
+ gst_date_time_get_type@Base 1.0.0
+ gst_date_time_get_year@Base 1.0.0
+ gst_date_time_has_day@Base 1.0.0
+ gst_date_time_has_month@Base 1.0.0
+ gst_date_time_has_second@Base 1.0.0
+ gst_date_time_has_time@Base 1.0.0
+ gst_date_time_has_year@Base 1.0.0
+ gst_date_time_new@Base 1.0.0
+ gst_date_time_new_from_g_date_time@Base 1.0.0
+ gst_date_time_new_from_iso8601_string@Base 1.0.0
+ gst_date_time_new_from_unix_epoch_local_time@Base 1.0.0
+ gst_date_time_new_from_unix_epoch_utc@Base 1.0.0
+ gst_date_time_new_local_time@Base 1.0.0
+ gst_date_time_new_now_local_time@Base 1.0.0
+ gst_date_time_new_now_utc@Base 1.0.0
+ gst_date_time_new_y@Base 1.0.0
+ gst_date_time_new_ym@Base 1.0.0
+ gst_date_time_new_ymd@Base 1.0.0
+ gst_date_time_ref@Base 1.0.0
+ gst_date_time_to_g_date_time@Base 1.0.0
+ gst_date_time_to_iso8601_string@Base 1.0.0
+ gst_date_time_unref@Base 1.0.0
+ gst_debug_add_log_function@Base 1.0.0
+ gst_debug_bin_to_dot_file@Base 1.0.0
+ gst_debug_bin_to_dot_file_with_ts@Base 1.0.0
+ gst_debug_category_free@Base 1.0.0
+ gst_debug_category_get_color@Base 1.0.0
+ gst_debug_category_get_description@Base 1.0.0
+ gst_debug_category_get_name@Base 1.0.0
+ gst_debug_category_get_threshold@Base 1.0.0
+ gst_debug_category_reset_threshold@Base 1.0.0
+ gst_debug_category_set_threshold@Base 1.0.0
+ gst_debug_color_flags_get_type@Base 1.0.0
+ gst_debug_construct_term_color@Base 1.0.0
+ gst_debug_construct_win_color@Base 1.0.0
+ gst_debug_get_all_categories@Base 1.0.0
+ gst_debug_get_default_threshold@Base 1.0.0
+ gst_debug_graph_details_get_type@Base 1.0.0
+ gst_debug_is_active@Base 1.0.0
+ gst_debug_is_colored@Base 1.0.0
+ gst_debug_level_get_name@Base 1.0.0
+ gst_debug_level_get_type@Base 1.0.0
+ gst_debug_log@Base 1.0.0
+ gst_debug_log_default@Base 1.0.0
+ gst_debug_log_valist@Base 1.0.0
+ gst_debug_message_get@Base 1.0.0
+ gst_debug_print_stack_trace@Base 1.0.0
+ gst_debug_remove_log_function@Base 1.0.0
+ gst_debug_remove_log_function_by_data@Base 1.0.0
+ gst_debug_set_active@Base 1.0.0
+ gst_debug_set_colored@Base 1.0.0
+ gst_debug_set_default_threshold@Base 1.0.0
+ gst_debug_set_threshold_for_name@Base 1.0.0
+ gst_debug_unset_threshold_for_name@Base 1.0.0
+ gst_default_allocator_get_type@Base 1.0.0
+ gst_deinit@Base 1.0.0
+ gst_double_range_get_type@Base 1.0.0
+ gst_element_abort_state@Base 1.0.0
+ gst_element_add_pad@Base 1.0.0
+ gst_element_change_state@Base 1.0.0
+ gst_element_class_add_metadata@Base 1.0.0
+ gst_element_class_add_pad_template@Base 1.0.0
+ gst_element_class_add_static_metadata@Base 1.0.0
+ gst_element_class_get_metadata@Base 1.0.0
+ gst_element_class_get_pad_template@Base 1.0.0
+ gst_element_class_get_pad_template_list@Base 1.0.0
+ gst_element_class_set_metadata@Base 1.0.0
+ gst_element_class_set_static_metadata@Base 1.0.0
+ gst_element_continue_state@Base 1.0.0
+ gst_element_create_all_pads@Base 1.0.0
+ gst_element_factory_can_sink_all_caps@Base 1.0.0
+ gst_element_factory_can_sink_any_caps@Base 1.0.0
+ gst_element_factory_can_src_all_caps@Base 1.0.0
+ gst_element_factory_can_src_any_caps@Base 1.0.0
+ gst_element_factory_create@Base 1.0.0
+ gst_element_factory_find@Base 1.0.0
+ gst_element_factory_get_element_type@Base 1.0.0
+ gst_element_factory_get_metadata@Base 1.0.0
+ gst_element_factory_get_metadata_keys@Base 1.0.0
+ gst_element_factory_get_num_pad_templates@Base 1.0.0
+ gst_element_factory_get_static_pad_templates@Base 1.0.0
+ gst_element_factory_get_type@Base 1.0.0
+ gst_element_factory_get_uri_protocols@Base 1.0.0
+ gst_element_factory_get_uri_type@Base 1.0.0
+ gst_element_factory_has_interface@Base 1.0.0
+ gst_element_factory_list_filter@Base 1.0.0
+ gst_element_factory_list_get_elements@Base 1.0.0
+ gst_element_factory_list_is_type@Base 1.0.0
+ gst_element_factory_make@Base 1.0.0
+ gst_element_flags_get_type@Base 1.0.0
+ gst_element_get_base_time@Base 1.0.0
+ gst_element_get_bus@Base 1.0.0
+ gst_element_get_clock@Base 1.0.0
+ gst_element_get_compatible_pad@Base 1.0.0
+ gst_element_get_compatible_pad_template@Base 1.0.0
+ gst_element_get_factory@Base 1.0.0
+ gst_element_get_request_pad@Base 1.0.0
+ gst_element_get_start_time@Base 1.0.0
+ gst_element_get_state@Base 1.0.0
+ gst_element_get_static_pad@Base 1.0.0
+ gst_element_get_type@Base 1.0.0
+ gst_element_is_locked_state@Base 1.0.0
+ gst_element_iterate_pads@Base 1.0.0
+ gst_element_iterate_sink_pads@Base 1.0.0
+ gst_element_iterate_src_pads@Base 1.0.0
+ gst_element_link@Base 1.0.0
+ gst_element_link_filtered@Base 1.0.0
+ gst_element_link_many@Base 1.0.0
+ gst_element_link_pads@Base 1.0.0
+ gst_element_link_pads_filtered@Base 1.0.0
+ gst_element_link_pads_full@Base 1.0.0
+ gst_element_lost_state@Base 1.0.0
+ gst_element_make_from_uri@Base 1.0.0
+ gst_element_message_full@Base 1.0.0
+ gst_element_no_more_pads@Base 1.0.0
+ gst_element_post_message@Base 1.0.0
+ gst_element_provide_clock@Base 1.0.0
+ gst_element_query@Base 1.0.0
+ gst_element_query_convert@Base 1.0.0
+ gst_element_query_duration@Base 1.0.0
+ gst_element_query_position@Base 1.0.0
+ gst_element_register@Base 1.0.0
+ gst_element_release_request_pad@Base 1.0.0
+ gst_element_remove_pad@Base 1.0.0
+ gst_element_request_pad@Base 1.0.0
+ gst_element_seek@Base 1.0.0
+ gst_element_seek_simple@Base 1.0.0
+ gst_element_send_event@Base 1.0.0
+ gst_element_set_base_time@Base 1.0.0
+ gst_element_set_bus@Base 1.0.0
+ gst_element_set_clock@Base 1.0.0
+ gst_element_set_locked_state@Base 1.0.0
+ gst_element_set_start_time@Base 1.0.0
+ gst_element_set_state@Base 1.0.0
+ gst_element_state_change_return_get_name@Base 1.0.0
+ gst_element_state_get_name@Base 1.0.0
+ gst_element_sync_state_with_parent@Base 1.0.0
+ gst_element_unlink@Base 1.0.0
+ gst_element_unlink_many@Base 1.0.0
+ gst_element_unlink_pads@Base 1.0.0
+ gst_error_get_message@Base 1.0.0
+ gst_event_copy_segment@Base 1.0.0
+ gst_event_get_seqnum@Base 1.0.0
+ gst_event_get_structure@Base 1.0.0
+ gst_event_get_type@Base 1.0.0
+ gst_event_has_name@Base 1.0.0
+ gst_event_new_buffer_size@Base 1.0.0
+ gst_event_new_caps@Base 1.0.0
+ gst_event_new_custom@Base 1.0.0
+ gst_event_new_eos@Base 1.0.0
+ gst_event_new_flush_start@Base 1.0.0
+ gst_event_new_flush_stop@Base 1.0.0
+ gst_event_new_gap@Base 1.0.0
+ gst_event_new_latency@Base 1.0.0
+ gst_event_new_navigation@Base 1.0.0
+ gst_event_new_qos@Base 1.0.0
+ gst_event_new_reconfigure@Base 1.0.0
+ gst_event_new_seek@Base 1.0.0
+ gst_event_new_segment@Base 1.0.0
+ gst_event_new_segment_done@Base 1.0.0
+ gst_event_new_sink_message@Base 1.0.0
+ gst_event_new_step@Base 1.0.0
+ gst_event_new_stream_start@Base 1.0.0
+ gst_event_new_tag@Base 1.0.0
+ gst_event_new_toc@Base 1.0.0
+ gst_event_new_toc_select@Base 1.0.0
+ gst_event_parse_buffer_size@Base 1.0.0
+ gst_event_parse_caps@Base 1.0.0
+ gst_event_parse_flush_stop@Base 1.0.0
+ gst_event_parse_gap@Base 1.0.0
+ gst_event_parse_latency@Base 1.0.0
+ gst_event_parse_qos@Base 1.0.0
+ gst_event_parse_seek@Base 1.0.0
+ gst_event_parse_segment@Base 1.0.0
+ gst_event_parse_segment_done@Base 1.0.0
+ gst_event_parse_sink_message@Base 1.0.0
+ gst_event_parse_step@Base 1.0.0
+ gst_event_parse_stream_start@Base 1.0.0
+ gst_event_parse_tag@Base 1.0.0
+ gst_event_parse_toc@Base 1.0.0
+ gst_event_parse_toc_select@Base 1.0.0
+ gst_event_set_seqnum@Base 1.0.0
+ gst_event_type_flags_get_type@Base 1.0.0
+ gst_event_type_get_flags@Base 1.0.0
+ gst_event_type_get_name@Base 1.0.0
+ gst_event_type_get_type@Base 1.0.0
+ gst_event_type_to_quark@Base 1.0.0
+ gst_event_writable_structure@Base 1.0.0
+ gst_filename_to_uri@Base 1.0.0
+ gst_flow_get_name@Base 1.0.0
+ gst_flow_return_get_type@Base 1.0.0
+ gst_flow_to_quark@Base 1.0.0
+ gst_format_get_by_nick@Base 1.0.0
+ gst_format_get_details@Base 1.0.0
+ gst_format_get_name@Base 1.0.0
+ gst_format_get_type@Base 1.0.0
+ gst_format_iterate_definitions@Base 1.0.0
+ gst_format_register@Base 1.0.0
+ gst_format_to_quark@Base 1.0.0
+ gst_formats_contains@Base 1.0.0
+ gst_fraction_get_type@Base 1.0.0
+ gst_fraction_range_get_type@Base 1.0.0
+ gst_ghost_pad_activate_mode_default@Base 1.0.0
+ gst_ghost_pad_construct@Base 1.0.0
+ gst_ghost_pad_get_target@Base 1.0.0
+ gst_ghost_pad_get_type@Base 1.0.0
+ gst_ghost_pad_internal_activate_mode_default@Base 1.0.0
+ gst_ghost_pad_new@Base 1.0.0
+ gst_ghost_pad_new_from_template@Base 1.0.0
+ gst_ghost_pad_new_no_target@Base 1.0.0
+ gst_ghost_pad_new_no_target_from_template@Base 1.0.0
+ gst_ghost_pad_set_target@Base 1.0.0
+ gst_init@Base 1.0.0
+ gst_init_check@Base 1.0.0
+ gst_init_get_option_group@Base 1.0.0
+ gst_int64_range_get_type@Base 1.0.0
+ gst_int_range_get_type@Base 1.0.0
+ gst_is_initialized@Base 1.0.0
+ gst_iterator_copy@Base 1.0.0
+ gst_iterator_filter@Base 1.0.0
+ gst_iterator_find_custom@Base 1.0.0
+ gst_iterator_fold@Base 1.0.0
+ gst_iterator_foreach@Base 1.0.0
+ gst_iterator_free@Base 1.0.0
+ gst_iterator_get_type@Base 1.0.0
+ gst_iterator_item_get_type@Base 1.0.0
+ gst_iterator_new@Base 1.0.0
+ gst_iterator_new_list@Base 1.0.0
+ gst_iterator_new_single@Base 1.0.0
+ gst_iterator_next@Base 1.0.0
+ gst_iterator_push@Base 1.0.0
+ gst_iterator_result_get_type@Base 1.0.0
+ gst_iterator_resync@Base 1.0.0
+ gst_library_error_get_type@Base 1.0.0
+ gst_library_error_quark@Base 1.0.0
+ gst_lock_flags_get_type@Base 1.0.0
+ gst_map_flags_get_type@Base 1.0.0
+ gst_memory_alignment@Base 1.0.0
+ gst_memory_copy@Base 1.0.0
+ gst_memory_flags_get_type@Base 1.0.0
+ gst_memory_get_sizes@Base 1.0.0
+ gst_memory_get_type@Base 1.0.0
+ gst_memory_init@Base 1.0.0
+ gst_memory_is_span@Base 1.0.0
+ gst_memory_make_mapped@Base 1.0.0
+ gst_memory_map@Base 1.0.0
+ gst_memory_new_wrapped@Base 1.0.0
+ gst_memory_resize@Base 1.0.0
+ gst_memory_share@Base 1.0.0
+ gst_memory_unmap@Base 1.0.0
+ gst_message_get_seqnum@Base 1.0.0
+ gst_message_get_stream_status_object@Base 1.0.0
+ gst_message_get_structure@Base 1.0.0
+ gst_message_get_type@Base 1.0.0
+ gst_message_has_name@Base 1.0.0
+ gst_message_new_application@Base 1.0.0
+ gst_message_new_async_done@Base 1.0.0
+ gst_message_new_async_start@Base 1.0.0
+ gst_message_new_buffering@Base 1.0.0
+ gst_message_new_clock_lost@Base 1.0.0
+ gst_message_new_clock_provide@Base 1.0.0
+ gst_message_new_custom@Base 1.0.0
+ gst_message_new_duration_changed@Base 1.0.0
+ gst_message_new_element@Base 1.0.0
+ gst_message_new_eos@Base 1.0.0
+ gst_message_new_error@Base 1.0.0
+ gst_message_new_info@Base 1.0.0
+ gst_message_new_latency@Base 1.0.0
+ gst_message_new_new_clock@Base 1.0.0
+ gst_message_new_progress@Base 1.0.0
+ gst_message_new_qos@Base 1.0.0
+ gst_message_new_request_state@Base 1.0.0
+ gst_message_new_reset_time@Base 1.0.0
+ gst_message_new_segment_done@Base 1.0.0
+ gst_message_new_segment_start@Base 1.0.0
+ gst_message_new_state_changed@Base 1.0.0
+ gst_message_new_state_dirty@Base 1.0.0
+ gst_message_new_step_done@Base 1.0.0
+ gst_message_new_step_start@Base 1.0.0
+ gst_message_new_stream_start@Base 1.0.0
+ gst_message_new_stream_status@Base 1.0.0
+ gst_message_new_structure_change@Base 1.0.0
+ gst_message_new_tag@Base 1.0.0
+ gst_message_new_toc@Base 1.0.0
+ gst_message_new_warning@Base 1.0.0
+ gst_message_parse_async_done@Base 1.0.0
+ gst_message_parse_buffering@Base 1.0.0
+ gst_message_parse_buffering_stats@Base 1.0.0
+ gst_message_parse_clock_lost@Base 1.0.0
+ gst_message_parse_clock_provide@Base 1.0.0
+ gst_message_parse_error@Base 1.0.0
+ gst_message_parse_info@Base 1.0.0
+ gst_message_parse_new_clock@Base 1.0.0
+ gst_message_parse_progress@Base 1.0.0
+ gst_message_parse_qos@Base 1.0.0
+ gst_message_parse_qos_stats@Base 1.0.0
+ gst_message_parse_qos_values@Base 1.0.0
+ gst_message_parse_request_state@Base 1.0.0
+ gst_message_parse_reset_time@Base 1.0.0
+ gst_message_parse_segment_done@Base 1.0.0
+ gst_message_parse_segment_start@Base 1.0.0
+ gst_message_parse_state_changed@Base 1.0.0
+ gst_message_parse_step_done@Base 1.0.0
+ gst_message_parse_step_start@Base 1.0.0
+ gst_message_parse_stream_status@Base 1.0.0
+ gst_message_parse_structure_change@Base 1.0.0
+ gst_message_parse_tag@Base 1.0.0
+ gst_message_parse_toc@Base 1.0.0
+ gst_message_parse_warning@Base 1.0.0
+ gst_message_set_buffering_stats@Base 1.0.0
+ gst_message_set_qos_stats@Base 1.0.0
+ gst_message_set_qos_values@Base 1.0.0
+ gst_message_set_seqnum@Base 1.0.0
+ gst_message_set_stream_status_object@Base 1.0.0
+ gst_message_type_get_name@Base 1.0.0
+ gst_message_type_get_type@Base 1.0.0
+ gst_message_type_to_quark@Base 1.0.0
+ gst_meta_api_type_has_tag@Base 1.0.0
+ gst_meta_api_type_register@Base 1.0.0
+ gst_meta_flags_get_type@Base 1.0.0
+ gst_meta_get_info@Base 1.0.0
+ gst_meta_register@Base 1.0.0
+ gst_mini_object_copy@Base 1.0.0
+ gst_mini_object_flags_get_type@Base 1.0.0
+ gst_mini_object_get_qdata@Base 1.0.0
+ gst_mini_object_init@Base 1.0.0
+ gst_mini_object_is_writable@Base 1.0.0
+ gst_mini_object_lock@Base 1.0.0
+ gst_mini_object_make_writable@Base 1.0.0
+ gst_mini_object_ref@Base 1.0.0
+ gst_mini_object_replace@Base 1.0.0
+ gst_mini_object_set_qdata@Base 1.0.0
+ gst_mini_object_steal@Base 1.0.0
+ gst_mini_object_steal_qdata@Base 1.0.0
+ gst_mini_object_take@Base 1.0.0
+ gst_mini_object_unlock@Base 1.0.0
+ gst_mini_object_unref@Base 1.0.0
+ gst_mini_object_weak_ref@Base 1.0.0
+ gst_mini_object_weak_unref@Base 1.0.0
+ gst_object_add_control_binding@Base 1.0.0
+ gst_object_check_uniqueness@Base 1.0.0
+ gst_object_default_deep_notify@Base 1.0.0
+ gst_object_default_error@Base 1.0.0
+ gst_object_flags_get_type@Base 1.0.0
+ gst_object_get_control_binding@Base 1.0.0
+ gst_object_get_control_rate@Base 1.0.0
+ gst_object_get_g_value_array@Base 1.0.0
+ gst_object_get_name@Base 1.0.0
+ gst_object_get_parent@Base 1.0.0
+ gst_object_get_path_string@Base 1.0.0
+ gst_object_get_type@Base 1.0.0
+ gst_object_get_value@Base 1.0.0
+ gst_object_get_value_array@Base 1.0.0
+ gst_object_has_active_control_bindings@Base 1.0.0
+ gst_object_has_ancestor@Base 1.0.0
+ gst_object_ref@Base 1.0.0
+ gst_object_ref_sink@Base 1.0.0
+ gst_object_remove_control_binding@Base 1.0.0
+ gst_object_replace@Base 1.0.0
+ gst_object_set_control_binding_disabled@Base 1.0.0
+ gst_object_set_control_bindings_disabled@Base 1.0.0
+ gst_object_set_control_rate@Base 1.0.0
+ gst_object_set_name@Base 1.0.0
+ gst_object_set_parent@Base 1.0.0
+ gst_object_suggest_next_sync@Base 1.0.0
+ gst_object_sync_values@Base 1.0.0
+ gst_object_unparent@Base 1.0.0
+ gst_object_unref@Base 1.0.0
+ gst_pad_activate_mode@Base 1.0.0
+ gst_pad_add_probe@Base 1.0.0
+ gst_pad_can_link@Base 1.0.0
+ gst_pad_chain@Base 1.0.0
+ gst_pad_chain_list@Base 1.0.0
+ gst_pad_check_reconfigure@Base 1.0.0
+ gst_pad_create_stream_id@Base 1.0.0
+ gst_pad_create_stream_id_printf@Base 1.0.0
+ gst_pad_create_stream_id_printf_valist@Base 1.0.0
+ gst_pad_direction_get_type@Base 1.0.0
+ gst_pad_event_default@Base 1.0.0
+ gst_pad_flags_get_type@Base 1.0.0
+ gst_pad_forward@Base 1.0.0
+ gst_pad_get_allowed_caps@Base 1.0.0
+ gst_pad_get_current_caps@Base 1.0.0
+ gst_pad_get_direction@Base 1.0.0
+ gst_pad_get_element_private@Base 1.0.0
+ gst_pad_get_offset@Base 1.0.0
+ gst_pad_get_pad_template@Base 1.0.0
+ gst_pad_get_pad_template_caps@Base 1.0.0
+ gst_pad_get_parent_element@Base 1.0.0
+ gst_pad_get_peer@Base 1.0.0
+ gst_pad_get_range@Base 1.0.0
+ gst_pad_get_sticky_event@Base 1.0.0
+ gst_pad_get_type@Base 1.0.0
+ gst_pad_has_current_caps@Base 1.0.0
+ gst_pad_is_active@Base 1.0.0
+ gst_pad_is_blocked@Base 1.0.0
+ gst_pad_is_blocking@Base 1.0.0
+ gst_pad_is_linked@Base 1.0.0
+ gst_pad_iterate_internal_links@Base 1.0.0
+ gst_pad_iterate_internal_links_default@Base 1.0.0
+ gst_pad_link@Base 1.0.0
+ gst_pad_link_check_get_type@Base 1.0.0
+ gst_pad_link_full@Base 1.0.0
+ gst_pad_link_return_get_type@Base 1.0.0
+ gst_pad_mark_reconfigure@Base 1.0.0
+ gst_pad_mode_get_name@Base 1.0.0
+ gst_pad_mode_get_type@Base 1.0.0
+ gst_pad_needs_reconfigure@Base 1.0.0
+ gst_pad_new@Base 1.0.0
+ gst_pad_new_from_static_template@Base 1.0.0
+ gst_pad_new_from_template@Base 1.0.0
+ gst_pad_pause_task@Base 1.0.0
+ gst_pad_peer_query@Base 1.0.0
+ gst_pad_peer_query_accept_caps@Base 1.0.0
+ gst_pad_peer_query_caps@Base 1.0.0
+ gst_pad_peer_query_convert@Base 1.0.0
+ gst_pad_peer_query_duration@Base 1.0.0
+ gst_pad_peer_query_position@Base 1.0.0
+ gst_pad_presence_get_type@Base 1.0.0
+ gst_pad_probe_info_get_buffer@Base 1.0.0
+ gst_pad_probe_info_get_buffer_list@Base 1.0.0
+ gst_pad_probe_info_get_event@Base 1.0.0
+ gst_pad_probe_info_get_query@Base 1.0.0
+ gst_pad_probe_return_get_type@Base 1.0.0
+ gst_pad_probe_type_get_type@Base 1.0.0
+ gst_pad_proxy_query_accept_caps@Base 1.0.0
+ gst_pad_proxy_query_caps@Base 1.0.0
+ gst_pad_pull_range@Base 1.0.0
+ gst_pad_push@Base 1.0.0
+ gst_pad_push_event@Base 1.0.0
+ gst_pad_push_list@Base 1.0.0
+ gst_pad_query@Base 1.0.0
+ gst_pad_query_accept_caps@Base 1.0.0
+ gst_pad_query_caps@Base 1.0.0
+ gst_pad_query_convert@Base 1.0.0
+ gst_pad_query_default@Base 1.0.0
+ gst_pad_query_duration@Base 1.0.0
+ gst_pad_query_position@Base 1.0.0
+ gst_pad_remove_probe@Base 1.0.0
+ gst_pad_send_event@Base 1.0.0
+ gst_pad_set_activate_function_full@Base 1.0.0
+ gst_pad_set_activatemode_function_full@Base 1.0.0
+ gst_pad_set_active@Base 1.0.0
+ gst_pad_set_chain_function_full@Base 1.0.0
+ gst_pad_set_chain_list_function_full@Base 1.0.0
+ gst_pad_set_element_private@Base 1.0.0
+ gst_pad_set_event_function_full@Base 1.0.0
+ gst_pad_set_getrange_function_full@Base 1.0.0
+ gst_pad_set_iterate_internal_links_function_full@Base 1.0.0
+ gst_pad_set_link_function_full@Base 1.0.0
+ gst_pad_set_offset@Base 1.0.0
+ gst_pad_set_query_function_full@Base 1.0.0
+ gst_pad_set_unlink_function_full@Base 1.0.0
+ gst_pad_start_task@Base 1.0.0
+ gst_pad_sticky_events_foreach@Base 1.0.0
+ gst_pad_stop_task@Base 1.0.0
+ gst_pad_template_flags_get_type@Base 1.0.0
+ gst_pad_template_get_caps@Base 1.0.0
+ gst_pad_template_get_type@Base 1.0.0
+ gst_pad_template_new@Base 1.0.0
+ gst_pad_template_pad_created@Base 1.0.0
+ gst_pad_unlink@Base 1.0.0
+ gst_pad_use_fixed_caps@Base 1.0.0
+ gst_param_spec_fraction@Base 1.0.0
+ gst_param_spec_fraction_get_type@Base 1.0.0
+ gst_parse_bin_from_description@Base 1.0.0
+ gst_parse_bin_from_description_full@Base 1.0.0
+ gst_parse_context_free@Base 1.0.0
+ gst_parse_context_get_missing_elements@Base 1.0.0
+ gst_parse_context_get_type@Base 1.0.0
+ gst_parse_context_new@Base 1.0.0
+ gst_parse_error_get_type@Base 1.0.0
+ gst_parse_error_quark@Base 1.0.0
+ gst_parse_flags_get_type@Base 1.0.0
+ gst_parse_launch@Base 1.0.0
+ gst_parse_launch_full@Base 1.0.0
+ gst_parse_launchv@Base 1.0.0
+ gst_parse_launchv_full@Base 1.0.0
+ gst_pipeline_auto_clock@Base 1.0.0
+ gst_pipeline_flags_get_type@Base 1.0.0
+ gst_pipeline_get_auto_flush_bus@Base 1.0.0
+ gst_pipeline_get_bus@Base 1.0.0
+ gst_pipeline_get_clock@Base 1.0.0
+ gst_pipeline_get_delay@Base 1.0.0
+ gst_pipeline_get_type@Base 1.0.0
+ gst_pipeline_new@Base 1.0.0
+ gst_pipeline_set_auto_flush_bus@Base 1.0.0
+ gst_pipeline_set_clock@Base 1.0.0
+ gst_pipeline_set_delay@Base 1.0.0
+ gst_pipeline_use_clock@Base 1.0.0
+ gst_plugin_add_dependency@Base 1.0.0
+ gst_plugin_add_dependency_simple@Base 1.0.0
+ gst_plugin_dependency_flags_get_type@Base 1.0.0
+ gst_plugin_error_get_type@Base 1.0.0
+ gst_plugin_error_quark@Base 1.0.0
+ gst_plugin_feature_check_version@Base 1.0.0
+ gst_plugin_feature_get_plugin@Base 1.0.0
+ gst_plugin_feature_get_rank@Base 1.0.0
+ gst_plugin_feature_get_type@Base 1.0.0
+ gst_plugin_feature_list_copy@Base 1.0.0
+ gst_plugin_feature_list_debug@Base 1.0.0
+ gst_plugin_feature_list_free@Base 1.0.0
+ gst_plugin_feature_load@Base 1.0.0
+ gst_plugin_feature_rank_compare_func@Base 1.0.0
+ gst_plugin_feature_set_rank@Base 1.0.0
+ gst_plugin_flags_get_type@Base 1.0.0
+ gst_plugin_get_cache_data@Base 1.0.0
+ gst_plugin_get_description@Base 1.0.0
+ gst_plugin_get_filename@Base 1.0.0
+ gst_plugin_get_license@Base 1.0.0
+ gst_plugin_get_name@Base 1.0.0
+ gst_plugin_get_origin@Base 1.0.0
+ gst_plugin_get_package@Base 1.0.0
+ gst_plugin_get_release_date_string@Base 1.0.0
+ gst_plugin_get_source@Base 1.0.0
+ gst_plugin_get_type@Base 1.0.0
+ gst_plugin_get_version@Base 1.0.0
+ gst_plugin_is_loaded@Base 1.0.0
+ gst_plugin_list_free@Base 1.0.0
+ gst_plugin_load@Base 1.0.0
+ gst_plugin_load_by_name@Base 1.0.0
+ gst_plugin_load_file@Base 1.0.0
+ gst_plugin_register_static@Base 1.0.0
+ gst_plugin_register_static_full@Base 1.0.0
+ gst_plugin_set_cache_data@Base 1.0.0
+ gst_poll_add_fd@Base 1.0.0
+ gst_poll_fd_can_read@Base 1.0.0
+ gst_poll_fd_can_write@Base 1.0.0
+ gst_poll_fd_ctl_read@Base 1.0.0
+ gst_poll_fd_ctl_write@Base 1.0.0
+ gst_poll_fd_has_closed@Base 1.0.0
+ gst_poll_fd_has_error@Base 1.0.0
+ gst_poll_fd_ignored@Base 1.0.0
+ gst_poll_fd_init@Base 1.0.0
+ gst_poll_free@Base 1.0.0
+ gst_poll_get_read_gpollfd@Base 1.0.0
+ gst_poll_new@Base 1.0.0
+ gst_poll_new_timer@Base 1.0.0
+ gst_poll_read_control@Base 1.0.0
+ gst_poll_remove_fd@Base 1.0.0
+ gst_poll_restart@Base 1.0.0
+ gst_poll_set_controllable@Base 1.0.0
+ gst_poll_set_flushing@Base 1.0.0
+ gst_poll_wait@Base 1.0.0
+ gst_poll_write_control@Base 1.0.0
+ gst_preset_delete_preset@Base 1.0.0
+ gst_preset_get_app_dir@Base 1.0.0
+ gst_preset_get_meta@Base 1.0.0
+ gst_preset_get_preset_names@Base 1.0.0
+ gst_preset_get_property_names@Base 1.0.0
+ gst_preset_get_type@Base 1.0.0
+ gst_preset_load_preset@Base 1.0.0
+ gst_preset_rename_preset@Base 1.0.0
+ gst_preset_save_preset@Base 1.0.0
+ gst_preset_set_app_dir@Base 1.0.0
+ gst_preset_set_meta@Base 1.0.0
+ gst_progress_type_get_type@Base 1.0.0
+ gst_proxy_pad_chain_default@Base 1.0.0
+ gst_proxy_pad_chain_list_default@Base 1.0.0
+ gst_proxy_pad_get_internal@Base 1.0.0
+ gst_proxy_pad_get_type@Base 1.0.0
+ gst_proxy_pad_getrange_default@Base 1.0.0
+ gst_proxy_pad_iterate_internal_links_default@Base 1.0.0
+ gst_qos_type_get_type@Base 1.0.0
+ gst_query_add_allocation_meta@Base 1.0.0
+ gst_query_add_allocation_param@Base 1.0.0
+ gst_query_add_allocation_pool@Base 1.0.0
+ gst_query_add_buffering_range@Base 1.0.0
+ gst_query_add_scheduling_mode@Base 1.0.0
+ gst_query_find_allocation_meta@Base 1.0.0
+ gst_query_get_n_allocation_metas@Base 1.0.0
+ gst_query_get_n_allocation_params@Base 1.0.0
+ gst_query_get_n_allocation_pools@Base 1.0.0
+ gst_query_get_n_buffering_ranges@Base 1.0.0
+ gst_query_get_n_scheduling_modes@Base 1.0.0
+ gst_query_get_structure@Base 1.0.0
+ gst_query_get_type@Base 1.0.0
+ gst_query_has_scheduling_mode@Base 1.0.0
+ gst_query_has_scheduling_mode_with_flags@Base 1.0.0
+ gst_query_new_accept_caps@Base 1.0.0
+ gst_query_new_allocation@Base 1.0.0
+ gst_query_new_buffering@Base 1.0.0
+ gst_query_new_caps@Base 1.0.0
+ gst_query_new_convert@Base 1.0.0
+ gst_query_new_custom@Base 1.0.0
+ gst_query_new_drain@Base 1.0.0
+ gst_query_new_duration@Base 1.0.0
+ gst_query_new_formats@Base 1.0.0
+ gst_query_new_latency@Base 1.0.0
+ gst_query_new_position@Base 1.0.0
+ gst_query_new_scheduling@Base 1.0.0
+ gst_query_new_seeking@Base 1.0.0
+ gst_query_new_segment@Base 1.0.0
+ gst_query_new_uri@Base 1.0.0
+ gst_query_parse_accept_caps@Base 1.0.0
+ gst_query_parse_accept_caps_result@Base 1.0.0
+ gst_query_parse_allocation@Base 1.0.0
+ gst_query_parse_buffering_percent@Base 1.0.0
+ gst_query_parse_buffering_range@Base 1.0.0
+ gst_query_parse_buffering_stats@Base 1.0.0
+ gst_query_parse_caps@Base 1.0.0
+ gst_query_parse_caps_result@Base 1.0.0
+ gst_query_parse_convert@Base 1.0.0
+ gst_query_parse_duration@Base 1.0.0
+ gst_query_parse_latency@Base 1.0.0
+ gst_query_parse_n_formats@Base 1.0.0
+ gst_query_parse_nth_allocation_meta@Base 1.0.0
+ gst_query_parse_nth_allocation_param@Base 1.0.0
+ gst_query_parse_nth_allocation_pool@Base 1.0.0
+ gst_query_parse_nth_buffering_range@Base 1.0.0
+ gst_query_parse_nth_format@Base 1.0.0
+ gst_query_parse_nth_scheduling_mode@Base 1.0.0
+ gst_query_parse_position@Base 1.0.0
+ gst_query_parse_scheduling@Base 1.0.0
+ gst_query_parse_seeking@Base 1.0.0
+ gst_query_parse_segment@Base 1.0.0
+ gst_query_parse_uri@Base 1.0.0
+ gst_query_remove_nth_allocation_meta@Base 1.0.0
+ gst_query_set_accept_caps_result@Base 1.0.0
+ gst_query_set_buffering_percent@Base 1.0.0
+ gst_query_set_buffering_range@Base 1.0.0
+ gst_query_set_buffering_stats@Base 1.0.0
+ gst_query_set_caps_result@Base 1.0.0
+ gst_query_set_convert@Base 1.0.0
+ gst_query_set_duration@Base 1.0.0
+ gst_query_set_formats@Base 1.0.0
+ gst_query_set_formatsv@Base 1.0.0
+ gst_query_set_latency@Base 1.0.0
+ gst_query_set_nth_allocation_param@Base 1.0.0
+ gst_query_set_nth_allocation_pool@Base 1.0.0
+ gst_query_set_position@Base 1.0.0
+ gst_query_set_scheduling@Base 1.0.0
+ gst_query_set_seeking@Base 1.0.0
+ gst_query_set_segment@Base 1.0.0
+ gst_query_set_uri@Base 1.0.0
+ gst_query_type_flags_get_type@Base 1.0.0
+ gst_query_type_get_flags@Base 1.0.0
+ gst_query_type_get_name@Base 1.0.0
+ gst_query_type_get_type@Base 1.0.0
+ gst_query_type_to_quark@Base 1.0.0
+ gst_query_writable_structure@Base 1.0.0
+ gst_rank_get_type@Base 1.0.0
+ gst_registry_add_feature@Base 1.0.0
+ gst_registry_add_plugin@Base 1.0.0
+ gst_registry_check_feature_version@Base 1.0.0
+ gst_registry_feature_filter@Base 1.0.0
+ gst_registry_find_feature@Base 1.0.0
+ gst_registry_find_plugin@Base 1.0.0
+ gst_registry_fork_is_enabled@Base 1.0.0
+ gst_registry_fork_set_enabled@Base 1.0.0
+ gst_registry_get@Base 1.0.0
+ gst_registry_get_feature_list@Base 1.0.0
+ gst_registry_get_feature_list_by_plugin@Base 1.0.0
+ gst_registry_get_feature_list_cookie@Base 1.0.0
+ gst_registry_get_plugin_list@Base 1.0.0
+ gst_registry_get_type@Base 1.0.0
+ gst_registry_lookup@Base 1.0.0
+ gst_registry_lookup_feature@Base 1.0.0
+ gst_registry_plugin_filter@Base 1.0.0
+ gst_registry_remove_feature@Base 1.0.0
+ gst_registry_remove_plugin@Base 1.0.0
+ gst_registry_scan_path@Base 1.0.0
+ gst_resource_error_get_type@Base 1.0.0
+ gst_resource_error_quark@Base 1.0.0
+ gst_sample_get_buffer@Base 1.0.0
+ gst_sample_get_caps@Base 1.0.0
+ gst_sample_get_info@Base 1.0.0
+ gst_sample_get_segment@Base 1.0.0
+ gst_sample_get_type@Base 1.0.0
+ gst_sample_new@Base 1.0.0
+ gst_scheduling_flags_get_type@Base 1.0.0
+ gst_search_mode_get_type@Base 1.0.0
+ gst_seek_flags_get_type@Base 1.0.0
+ gst_seek_type_get_type@Base 1.0.0
+ gst_segment_clip@Base 1.0.0
+ gst_segment_copy@Base 1.0.0
+ gst_segment_copy_into@Base 1.0.0
+ gst_segment_do_seek@Base 1.0.0
+ gst_segment_flags_get_type@Base 1.0.0
+ gst_segment_free@Base 1.0.0
+ gst_segment_get_type@Base 1.0.0
+ gst_segment_init@Base 1.0.0
+ gst_segment_new@Base 1.0.0
+ gst_segment_set_running_time@Base 1.0.0
+ gst_segment_to_position@Base 1.0.0
+ gst_segment_to_running_time@Base 1.0.0
+ gst_segment_to_stream_time@Base 1.0.0
+ gst_segtrap_is_enabled@Base 1.0.0
+ gst_segtrap_set_enabled@Base 1.0.0
+ gst_state_change_get_type@Base 1.0.0
+ gst_state_change_return_get_type@Base 1.0.0
+ gst_state_get_type@Base 1.0.0
+ gst_static_caps_cleanup@Base 1.0.0
+ gst_static_caps_get@Base 1.0.0
+ gst_static_caps_get_type@Base 1.0.0
+ gst_static_pad_template_get@Base 1.0.0
+ gst_static_pad_template_get_caps@Base 1.0.0
+ gst_static_pad_template_get_type@Base 1.0.0
+ gst_stream_error_get_type@Base 1.0.0
+ gst_stream_error_quark@Base 1.0.0
+ gst_stream_status_type_get_type@Base 1.0.0
+ gst_structure_can_intersect@Base 1.0.0
+ gst_structure_change_type_get_type@Base 1.0.0
+ gst_structure_copy@Base 1.0.0
+ gst_structure_fixate@Base 1.0.0
+ gst_structure_fixate_field@Base 1.0.0
+ gst_structure_fixate_field_boolean@Base 1.0.0
+ gst_structure_fixate_field_nearest_double@Base 1.0.0
+ gst_structure_fixate_field_nearest_fraction@Base 1.0.0
+ gst_structure_fixate_field_nearest_int@Base 1.0.0
+ gst_structure_fixate_field_string@Base 1.0.0
+ gst_structure_foreach@Base 1.0.0
+ gst_structure_free@Base 1.0.0
+ gst_structure_from_string@Base 1.0.0
+ gst_structure_get@Base 1.0.0
+ gst_structure_get_boolean@Base 1.0.0
+ gst_structure_get_clock_time@Base 1.0.0
+ gst_structure_get_date@Base 1.0.0
+ gst_structure_get_date_time@Base 1.0.0
+ gst_structure_get_double@Base 1.0.0
+ gst_structure_get_enum@Base 1.0.0
+ gst_structure_get_field_type@Base 1.0.0
+ gst_structure_get_fraction@Base 1.0.0
+ gst_structure_get_int@Base 1.0.0
+ gst_structure_get_name@Base 1.0.0
+ gst_structure_get_name_id@Base 1.0.0
+ gst_structure_get_string@Base 1.0.0
+ gst_structure_get_type@Base 1.0.0
+ gst_structure_get_uint@Base 1.0.0
+ gst_structure_get_valist@Base 1.0.0
+ gst_structure_get_value@Base 1.0.0
+ gst_structure_has_field@Base 1.0.0
+ gst_structure_has_field_typed@Base 1.0.0
+ gst_structure_has_name@Base 1.0.0
+ gst_structure_id_get@Base 1.0.0
+ gst_structure_id_get_valist@Base 1.0.0
+ gst_structure_id_get_value@Base 1.0.0
+ gst_structure_id_has_field@Base 1.0.0
+ gst_structure_id_has_field_typed@Base 1.0.0
+ gst_structure_id_set@Base 1.0.0
+ gst_structure_id_set_valist@Base 1.0.0
+ gst_structure_id_set_value@Base 1.0.0
+ gst_structure_id_take_value@Base 1.0.0
+ gst_structure_intersect@Base 1.0.0
+ gst_structure_is_equal@Base 1.0.0
+ gst_structure_is_subset@Base 1.0.0
+ gst_structure_map_in_place@Base 1.0.0
+ gst_structure_n_fields@Base 1.0.0
+ gst_structure_new@Base 1.0.0
+ gst_structure_new_empty@Base 1.0.0
+ gst_structure_new_id@Base 1.0.0
+ gst_structure_new_id_empty@Base 1.0.0
+ gst_structure_new_valist@Base 1.0.0
+ gst_structure_nth_field_name@Base 1.0.0
+ gst_structure_remove_all_fields@Base 1.0.0
+ gst_structure_remove_field@Base 1.0.0
+ gst_structure_remove_fields@Base 1.0.0
+ gst_structure_remove_fields_valist@Base 1.0.0
+ gst_structure_set@Base 1.0.0
+ gst_structure_set_name@Base 1.0.0
+ gst_structure_set_parent_refcount@Base 1.0.0
+ gst_structure_set_valist@Base 1.0.0
+ gst_structure_set_value@Base 1.0.0
+ gst_structure_take_value@Base 1.0.0
+ gst_structure_to_string@Base 1.0.0
+ gst_system_clock_get_type@Base 1.0.0
+ gst_system_clock_obtain@Base 1.0.0
+ gst_tag_exists@Base 1.0.0
+ gst_tag_flag_get_type@Base 1.0.0
+ gst_tag_get_description@Base 1.0.0
+ gst_tag_get_flag@Base 1.0.0
+ gst_tag_get_nick@Base 1.0.0
+ gst_tag_get_type@Base 1.0.0
+ gst_tag_is_fixed@Base 1.0.0
+ gst_tag_list_add@Base 1.0.0
+ gst_tag_list_add_valist@Base 1.0.0
+ gst_tag_list_add_valist_values@Base 1.0.0
+ gst_tag_list_add_value@Base 1.0.0
+ gst_tag_list_add_values@Base 1.0.0
+ gst_tag_list_copy_value@Base 1.0.0
+ gst_tag_list_foreach@Base 1.0.0
+ gst_tag_list_get_boolean@Base 1.0.0
+ gst_tag_list_get_boolean_index@Base 1.0.0
+ gst_tag_list_get_date@Base 1.0.0
+ gst_tag_list_get_date_index@Base 1.0.0
+ gst_tag_list_get_date_time@Base 1.0.0
+ gst_tag_list_get_date_time_index@Base 1.0.0
+ gst_tag_list_get_double@Base 1.0.0
+ gst_tag_list_get_double_index@Base 1.0.0
+ gst_tag_list_get_float@Base 1.0.0
+ gst_tag_list_get_float_index@Base 1.0.0
+ gst_tag_list_get_int64@Base 1.0.0
+ gst_tag_list_get_int64_index@Base 1.0.0
+ gst_tag_list_get_int@Base 1.0.0
+ gst_tag_list_get_int_index@Base 1.0.0
+ gst_tag_list_get_pointer@Base 1.0.0
+ gst_tag_list_get_pointer_index@Base 1.0.0
+ gst_tag_list_get_sample@Base 1.0.0
+ gst_tag_list_get_sample_index@Base 1.0.0
+ gst_tag_list_get_scope@Base 1.0.0
+ gst_tag_list_get_string@Base 1.0.0
+ gst_tag_list_get_string_index@Base 1.0.0
+ gst_tag_list_get_tag_size@Base 1.0.0
+ gst_tag_list_get_type@Base 1.0.0
+ gst_tag_list_get_uint64@Base 1.0.0
+ gst_tag_list_get_uint64_index@Base 1.0.0
+ gst_tag_list_get_uint@Base 1.0.0
+ gst_tag_list_get_uint_index@Base 1.0.0
+ gst_tag_list_get_value_index@Base 1.0.0
+ gst_tag_list_insert@Base 1.0.0
+ gst_tag_list_is_empty@Base 1.0.0
+ gst_tag_list_is_equal@Base 1.0.0
+ gst_tag_list_merge@Base 1.0.0
+ gst_tag_list_n_tags@Base 1.0.0
+ gst_tag_list_new@Base 1.0.0
+ gst_tag_list_new_empty@Base 1.0.0
+ gst_tag_list_new_from_string@Base 1.0.0
+ gst_tag_list_new_valist@Base 1.0.0
+ gst_tag_list_nth_tag_name@Base 1.0.0
+ gst_tag_list_peek_string_index@Base 1.0.0
+ gst_tag_list_remove_tag@Base 1.0.0
+ gst_tag_list_set_scope@Base 1.0.0
+ gst_tag_list_to_string@Base 1.0.0
+ gst_tag_merge_mode_get_type@Base 1.0.0
+ gst_tag_merge_strings_with_comma@Base 1.0.0
+ gst_tag_merge_use_first@Base 1.0.0
+ gst_tag_register@Base 1.0.0
+ gst_tag_register_static@Base 1.0.0
+ gst_tag_scope_get_type@Base 1.0.0
+ gst_tag_setter_add_tag_valist@Base 1.0.0
+ gst_tag_setter_add_tag_valist_values@Base 1.0.0
+ gst_tag_setter_add_tag_value@Base 1.0.0
+ gst_tag_setter_add_tag_values@Base 1.0.0
+ gst_tag_setter_add_tags@Base 1.0.0
+ gst_tag_setter_get_tag_list@Base 1.0.0
+ gst_tag_setter_get_tag_merge_mode@Base 1.0.0
+ gst_tag_setter_get_type@Base 1.0.0
+ gst_tag_setter_merge_tags@Base 1.0.0
+ gst_tag_setter_reset_tags@Base 1.0.0
+ gst_tag_setter_set_tag_merge_mode@Base 1.0.0
+ gst_task_cleanup_all@Base 1.0.0
+ gst_task_get_pool@Base 1.0.0
+ gst_task_get_state@Base 1.0.0
+ gst_task_get_type@Base 1.0.0
+ gst_task_join@Base 1.0.0
+ gst_task_new@Base 1.0.0
+ gst_task_pause@Base 1.0.0
+ gst_task_pool_cleanup@Base 1.0.0
+ gst_task_pool_get_type@Base 1.0.0
+ gst_task_pool_join@Base 1.0.0
+ gst_task_pool_new@Base 1.0.0
+ gst_task_pool_prepare@Base 1.0.0
+ gst_task_pool_push@Base 1.0.0
+ gst_task_set_enter_callback@Base 1.0.0
+ gst_task_set_leave_callback@Base 1.0.0
+ gst_task_set_lock@Base 1.0.0
+ gst_task_set_pool@Base 1.0.0
+ gst_task_set_state@Base 1.0.0
+ gst_task_start@Base 1.0.0
+ gst_task_state_get_type@Base 1.0.0
+ gst_task_stop@Base 1.0.0
+ gst_toc_append_entry@Base 1.0.0
+ gst_toc_dump@Base 1.0.0
+ gst_toc_entry_append_sub_entry@Base 1.0.0
+ gst_toc_entry_get_entry_type@Base 1.0.0
+ gst_toc_entry_get_parent@Base 1.0.0
+ gst_toc_entry_get_start_stop_times@Base 1.0.0
+ gst_toc_entry_get_sub_entries@Base 1.0.0
+ gst_toc_entry_get_tags@Base 1.0.0
+ gst_toc_entry_get_toc@Base 1.0.0
+ gst_toc_entry_get_type@Base 1.0.0
+ gst_toc_entry_get_uid@Base 1.0.0
+ gst_toc_entry_is_alternative@Base 1.0.0
+ gst_toc_entry_is_sequence@Base 1.0.0
+ gst_toc_entry_merge_tags@Base 1.0.0
+ gst_toc_entry_new@Base 1.0.0
+ gst_toc_entry_set_start_stop_times@Base 1.0.0
+ gst_toc_entry_set_tags@Base 1.0.0
+ gst_toc_entry_type_get_nick@Base 1.0.0
+ gst_toc_entry_type_get_type@Base 1.0.0
+ gst_toc_find_entry@Base 1.0.0
+ gst_toc_get_entries@Base 1.0.0
+ gst_toc_get_scope@Base 1.0.0
+ gst_toc_get_tags@Base 1.0.0
+ gst_toc_get_type@Base 1.0.0
+ gst_toc_merge_tags@Base 1.0.0
+ gst_toc_new@Base 1.0.0
+ gst_toc_scope_get_type@Base 1.0.0
+ gst_toc_set_tags@Base 1.0.0
+ gst_toc_setter_get_toc@Base 1.0.0
+ gst_toc_setter_get_type@Base 1.0.0
+ gst_toc_setter_reset@Base 1.0.0
+ gst_toc_setter_set_toc@Base 1.0.0
+ gst_type_find_factory_call_function@Base 1.0.0
+ gst_type_find_factory_get_caps@Base 1.0.0
+ gst_type_find_factory_get_extensions@Base 1.0.0
+ gst_type_find_factory_get_list@Base 1.0.0
+ gst_type_find_factory_get_type@Base 1.0.0
+ gst_type_find_factory_has_function@Base 1.0.0
+ gst_type_find_get_length@Base 1.0.0
+ gst_type_find_get_type@Base 1.0.0
+ gst_type_find_peek@Base 1.0.0
+ gst_type_find_probability_get_type@Base 1.0.0
+ gst_type_find_register@Base 1.0.0
+ gst_type_find_suggest@Base 1.0.0
+ gst_type_find_suggest_simple@Base 1.0.0
+ gst_update_registry@Base 1.0.0
+ gst_uri_construct@Base 1.0.0
+ gst_uri_error_get_type@Base 1.0.0
+ gst_uri_error_quark@Base 1.0.0
+ gst_uri_get_location@Base 1.0.0
+ gst_uri_get_protocol@Base 1.0.0
+ gst_uri_handler_get_protocols@Base 1.0.0
+ gst_uri_handler_get_type@Base 1.0.0
+ gst_uri_handler_get_uri@Base 1.0.0
+ gst_uri_handler_get_uri_type@Base 1.0.0
+ gst_uri_handler_set_uri@Base 1.0.0
+ gst_uri_has_protocol@Base 1.0.0
+ gst_uri_is_valid@Base 1.0.0
+ gst_uri_protocol_is_supported@Base 1.0.0
+ gst_uri_protocol_is_valid@Base 1.0.0
+ gst_uri_type_get_type@Base 1.0.0
+ gst_util_array_binary_search@Base 1.0.0
+ gst_util_double_to_fraction@Base 1.0.0
+ gst_util_dump_mem@Base 1.0.0
+ gst_util_fraction_add@Base 1.0.0
+ gst_util_fraction_compare@Base 1.0.0
+ gst_util_fraction_multiply@Base 1.0.0
+ gst_util_fraction_to_double@Base 1.0.0
+ gst_util_gdouble_to_guint64@Base 1.0.0
+ gst_util_get_timestamp@Base 1.0.0
+ gst_util_greatest_common_divisor@Base 1.0.0
+ gst_util_greatest_common_divisor_int64@Base 1.0.0
+ gst_util_guint64_to_gdouble@Base 1.0.0
+ gst_util_seqnum_compare@Base 1.0.0
+ gst_util_seqnum_next@Base 1.0.0
+ gst_util_set_object_arg@Base 1.0.0
+ gst_util_set_value_from_string@Base 1.0.0
+ gst_util_uint64_scale@Base 1.0.0
+ gst_util_uint64_scale_ceil@Base 1.0.0
+ gst_util_uint64_scale_int@Base 1.0.0
+ gst_util_uint64_scale_int_ceil@Base 1.0.0
+ gst_util_uint64_scale_int_round@Base 1.0.0
+ gst_util_uint64_scale_round@Base 1.0.0
+ gst_value_array_append_value@Base 1.0.0
+ gst_value_array_get_size@Base 1.0.0
+ gst_value_array_get_type@Base 1.0.0
+ gst_value_array_get_value@Base 1.0.0
+ gst_value_array_prepend_value@Base 1.0.0
+ gst_value_can_compare@Base 1.0.0
+ gst_value_can_intersect@Base 1.0.0
+ gst_value_can_subtract@Base 1.0.0
+ gst_value_can_union@Base 1.0.0
+ gst_value_compare@Base 1.0.0
+ gst_value_deserialize@Base 1.0.0
+ gst_value_fixate@Base 1.0.0
+ gst_value_fraction_multiply@Base 1.0.0
+ gst_value_fraction_subtract@Base 1.0.0
+ gst_value_get_bitmask@Base 1.0.0
+ gst_value_get_caps@Base 1.0.0
+ gst_value_get_double_range_max@Base 1.0.0
+ gst_value_get_double_range_min@Base 1.0.0
+ gst_value_get_fraction_denominator@Base 1.0.0
+ gst_value_get_fraction_numerator@Base 1.0.0
+ gst_value_get_fraction_range_max@Base 1.0.0
+ gst_value_get_fraction_range_min@Base 1.0.0
+ gst_value_get_int64_range_max@Base 1.0.0
+ gst_value_get_int64_range_min@Base 1.0.0
+ gst_value_get_int64_range_step@Base 1.0.0
+ gst_value_get_int_range_max@Base 1.0.0
+ gst_value_get_int_range_min@Base 1.0.0
+ gst_value_get_int_range_step@Base 1.0.0
+ gst_value_get_structure@Base 1.0.0
+ gst_value_init_and_copy@Base 1.0.0
+ gst_value_intersect@Base 1.0.0
+ gst_value_is_fixed@Base 1.0.0
+ gst_value_is_subset@Base 1.0.0
+ gst_value_list_append_value@Base 1.0.0
+ gst_value_list_concat@Base 1.0.0
+ gst_value_list_get_size@Base 1.0.0
+ gst_value_list_get_type@Base 1.0.0
+ gst_value_list_get_value@Base 1.0.0
+ gst_value_list_merge@Base 1.0.0
+ gst_value_list_prepend_value@Base 1.0.0
+ gst_value_register@Base 1.0.0
+ gst_value_serialize@Base 1.0.0
+ gst_value_set_bitmask@Base 1.0.0
+ gst_value_set_caps@Base 1.0.0
+ gst_value_set_double_range@Base 1.0.0
+ gst_value_set_fraction@Base 1.0.0
+ gst_value_set_fraction_range@Base 1.0.0
+ gst_value_set_fraction_range_full@Base 1.0.0
+ gst_value_set_int64_range@Base 1.0.0
+ gst_value_set_int64_range_step@Base 1.0.0
+ gst_value_set_int_range@Base 1.0.0
+ gst_value_set_int_range_step@Base 1.0.0
+ gst_value_set_structure@Base 1.0.0
+ gst_value_subtract@Base 1.0.0
+ gst_value_union@Base 1.0.0
+ gst_version@Base 1.0.0
+ gst_version_string@Base 1.0.0
diff --git a/debian/patches/99_ltmain_as-needed.patch b/debian/patches/99_ltmain_as-needed.patch
new file mode 100644
index 0000000..73f5f2f
--- /dev/null
+++ b/debian/patches/99_ltmain_as-needed.patch
@@ -0,0 +1,32 @@
+diff --git a/ltmain.sh b/ltmain.sh
+index c7d06c3..7bc27f2 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -5800,6 +5800,11 @@ func_mode_link ()
+ 	arg=$func_stripname_result
+ 	;;
+ 
++      -Wl,--as-needed)
++	deplibs="$deplibs $arg"
++	continue
++	;;
++
+       -Wl,*)
+ 	func_stripname '-Wl,' '' "$arg"
+ 	args=$func_stripname_result
+@@ -6163,6 +6168,15 @@ func_mode_link ()
+ 	lib=
+ 	found=no
+ 	case $deplib in
++	-Wl,--as-needed)
++	  if test "$linkmode,$pass" = "prog,link"; then
++	    compile_deplibs="$deplib $compile_deplibs"
++	    finalize_deplibs="$deplib $finalize_deplibs"
++	  else
++	    deplibs="$deplib $deplibs"
++	  fi
++	  continue
++	  ;;
+ 	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+         |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ 	  if test "$linkmode,$pass" = "prog,link"; then
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2497acb
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+99_ltmain_as-needed.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..4485fb8
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,254 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/autotools.mk
+include /usr/share/cdbs/1/rules/utils.mk
+-include /usr/share/cdbs/1/rules/autoreconf.mk
+include /usr/share/gnome-pkg-tools/1/rules/clean-la.mk
+
+export HOME=$(CURDIR)/fake-home
+
+# make autoreconf not call libtoolize since we ship a patch for ltmain.sh
+export LIBTOOLIZE=true
+# make autoreconf not call autopoint since we ship a patch for po/Makefile.in.in
+export AUTOPOINT=true
+
+CFLAGS += -Wno-error
+CXXFLAGS += -Wno-error
+LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
+DEB_MAKE_CHECK_TARGET = check || true
+
+# debian package version
+version=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
+# upstream version
+gst_version=$(shell echo $(version) | cut -d '-' -f 1)
+gst_major=1
+gst_minor=0
+gst_abi=$(gst_major).$(gst_minor)
+gst_pkgname=gstreamer$(gst_abi)
+gst_lib_prefix=libgstreamer$(gst_abi)
+# gstreamer library package names
+gst_lib=$(gst_lib_prefix)-0
+gst_lib_dev=$(gst_lib_prefix)-dev
+# gstreamer shlibs
+gst_shlibs_dep="$(gst_lib) (>= $(gst_version))"
+
+# debug package
+DEB_DH_STRIP_ARGS := --dbg-package=$(gst_lib)-dbg
+
+DEB_COMPRESS_EXCLUDE = .sgml .devhelp .ps .pdf
+
+DEB_INSTALL_DOCS_$(gst_lib)-dbg += common/gst.supp
+
+# disable all CPU specific optimizations in commands launched by this Makefile
+# using liboil; this is to work around liboil related build failures which
+# are not specially interesting to catch on buildds as these might run very
+# specific hardware
+OIL_CPU_FLAGS=0
+export OIL_CPU_FLAGS
+
+PKGFILES=\
+	debian/$(gst_lib).install \
+	debian/$(gst_lib).symbols \
+	debian/$(gst_lib_dev).install \
+	debian/$(gst_lib_dev).preinst \
+	debian/$(gst_lib_dev).postrm \
+	debian/$(gst_pkgname)-doc.install \
+	debian/$(gst_pkgname)-doc.links \
+	debian/$(gst_pkgname)-doc.lintian \
+	debian/$(gst_pkgname)-tools.install \
+	debian/$(gst_pkgname)-tools.links \
+	debian/$(gst_pkgname)-tools.manpages \
+	debian/gir1.2-gstreamer-$(gst_abi).install
+
+# Let's decide the package name and url depending on the distribution
+DISTRO = "$(shell dpkg-vendor --query vendor)"
+
+GST_PACKAGE_NAME := "GStreamer (unknown Debian derivative)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gstreamer$(gst_abi)"
+
+ifeq ($(DISTRO),"Debian")
+GST_PACKAGE_NAME := "GStreamer (Debian)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gstreamer$(gst_abi)"
+endif
+
+ifeq ($(DISTRO),"Ubuntu")
+GST_PACKAGE_NAME := "GStreamer (Ubuntu)"
+GST_PACKAGE_ORIGIN="https://launchpad.net/distros/ubuntu/+source/gstreamer$(gst_abi)"
+endif
+
+debian/control:: debian/control.in debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_VERSION@/$(gst_version)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' | \
+		sed 's/@GST_LIB@/$(gst_lib)/g' | \
+		sed 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \
+		> $@
+
+debian/$(gst_lib).dirs: debian/libgstreamer.dirs debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_lib).install: debian/libgstreamer.install debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_lib).symbols: debian/libgstreamer.symbols debian/rules
+	rm -f $@
+	cp -v $< $@
+
+debian/gir1.2-gstreamer-$(gst_abi).install: debian/gir1.2-gstreamer.install debian/rules
+	rm -f $@
+	cp -v $< $@
+
+debian/$(gst_lib_dev).install: debian/libgstreamer-dev.install debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_lib_dev).preinst: debian/libgstreamer-dev.preinst debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \
+		> $@
+
+debian/$(gst_lib_dev).postrm: debian/libgstreamer-dev.postrm debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \
+		> $@
+
+debian/$(gst_pkgname)-doc.install: debian/gstreamer-doc.install debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_pkgname)-doc.links: debian/gstreamer-doc.links debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_pkgname)-doc.lintian: debian/gstreamer-doc.lintian debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_pkgname)-tools.install: debian/gstreamer-tools-abi.install debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_pkgname)-tools.links: debian/gstreamer-tools-abi.links debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+debian/$(gst_pkgname)-tools.manpages: debian/gstreamer-tools-abi.manpages debian/rules
+	rm -f $@
+	cat $< | \
+		sed 's/@GST_ABI@/$(gst_abi)/g' | \
+		sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+		sed 's/@GST_LIB_PREFIX@/$(gst_lib_prefix)/g' \
+		> $@
+
+maint: debian/control
+
+pre-build:: $(PKGFILES)
+
+clean::
+	for f in $(PKGFILES); do \
+		rm -f $$f; \
+	done
+	-rm -f debian/shlibs.local
+	-rm -rf $(CURDIR)/fake-home
+
+common_conf_flags = \
+	--disable-failing-tests \
+	--disable-examples \
+	--enable-DEBUG \
+	--enable-debug \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+	--libexecdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)/gstreamer$(gst_abi) \
+	--with-package-name=$(GST_PACKAGE_NAME) \
+	--with-package-origin=$(GST_PACKAGE_ORIGIN)
+
+indep_conf_flags = \
+	--with-html-dir=\$${prefix}/share/doc/$(gst_pkgname)-doc
+
+# only build the docs if gtk-doc-tools is installed, i.e. binary-indep is
+# called
+ifeq ($(shell test "`dpkg -l gtk-doc-tools | grep ^ii`" && echo binary-indep),binary-indep)
+indep_conf_flags += --enable-gtk-doc --enable-docbook
+endif
+
+DEB_CONFIGURE_EXTRA_FLAGS := $(common_conf_flags) $(indep_conf_flags)
+
+common-install-indep::
+	# move around the doc dirs
+	mkdir -p debian/tmp/usr/share/doc/$(gst_pkgname)-doc
+	-cp -r debian/tmp/usr/share/doc/gstreamer-$(gst_abi)/pwg \
+	   debian/tmp/usr/share/doc/gstreamer-$(gst_abi)/manual \
+	   debian/tmp/usr/share/doc/gstreamer-$(gst_abi)/faq \
+	   debian/tmp/usr/share/doc/$(gst_pkgname)-doc
+
+	# -doc lintian overrides
+	mkdir -p debian/$(gst_pkgname)-doc/usr/share/lintian/overrides/
+	cp -a debian/$(gst_pkgname)-doc.lintian debian/$(gst_pkgname)-doc/usr/share/lintian/overrides/$(gst_pkgname)-doc
+
+DEB_DH_MAKESHLIBS_ARGS_$(gst_lib) += -X "/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)" -V $(gst_shlibs_dep) -- -c4
+DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
+DEB_SHLIBDEPS_INCLUDE += debian/$(gst_lib)/usr/lib/$(DEB_HOST_MULTIARCH)
+
+# override shlibs for libraries from this source before computing dependencies
+# of packages generated from this source; we already have inter-dependencies
+# expressed manually in the control file, we do not need the shlibs to add
+# duplicates
+# (this rule runs just before the dh_shlibdeps)
+common-binary-fixup-arch::
+	mkdir -p $(CURDIR)/fake-home
+	HOME=$(CURDIR)/fake-home \
+	dh_girepository -pgir1.2-gstreamer-$(gst_abi)
+	rm -rf $(CURDIR)/fake-home
+	-rm -f debian/shlibs.local
+	cat debian/*/DEBIAN/shlibs | \
+		sed -n -r -e 's/(([^ ]+: )?([^ ]+) ([^ ]+)) .*/\1/p' \
+			> debian/shlibs.local
+
+# (this rules runs just after the dh_shlibdeps)
+common-binary-predeb-arch::
+	-rm -f debian/shlibs.local
+
+install/$(gst_lib_dev)::
+	gcc -o debian/tmp/usr/bin/gst-codec-info-1.0 debian/gst-codec-info.c $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `pkg-config --libs --cflags glib-2.0 gthread-2.0 gmodule-no-export-2.0 gobject-2.0` debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libgstreamer-1.0.so -Idebian/tmp/usr/include/gstreamer-1.0
+	perldoc -o man debian/dh_gstscancodecs > debian/tmp/usr/share/man/man1/dh_gstscancodecs.1
+
+.PHONY: maint
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..3e5e786
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-(0\.11\.[\d\.]+)\.tar\.gz
