diff --git a/debian/HACKING.Debian b/debian/HACKING.Debian
new file mode 100644
index 0000000..5c44a17
--- /dev/null
+++ b/debian/HACKING.Debian
@@ -0,0 +1,100 @@
+Hacking GStreamer for Debian
+============================
+
+An addition to the README.Debian that has Debian package hacking notes.
+
+Everything should now be versioned.
+
+- To update dependencies edit debian/build-deps.in
+
+- To rebuild package files from .in files:
+
+  debian/rules maint
+
+- After a version update to check for missing files run:
+
+  debian/maint missing
+  debian/maint missing-libs
+  debian/maint missing-so
+
+- To update package files edit gstreamer-foo then rebuild package files.  This
+  will generate the gstreamerX.Y-foo file.  Also update debian/rules and
+  debian/control.in as needed.
+
+- The packaging tries to stay close of upstream choice. gstreamerX.Y-misc has
+  most of the files, extra packages are made for the sinks and by group of 
+  depends (gnome, x, ...)
+
+- Provide gstreamerX.Y-videosink and gstreamerX.Y-audiosink as needed.
+
+- All interfaces and generic libraries go in libgstreamer-plugins, libraries
+  with external dependencies have their own package such as libgstreamer-gconf.
+
+- Applications go in gstreamerX.Y-plugins-base-apps
+
+
+File listing
+------------
+
+build-deps:
+  - generated from "build-deps.in" abd "extra deps" in "rules
+    debian/build-deps:":
+    * "build-deps.in" lists build-depends for Debian main packages
+    * "extra deps" is a shell script outputting additional build-depends
+      if you are building additional plugins
+  - serves generation with "control.in" and "mk.control" of "control" in
+    "rules debian/control::"
+build-deps.in:
+  - lists build-depends for Debian main packages
+  - serves generation with "extra deps" of "build-deps" in "rules
+    debian/build-deps:"
+changelog: handled classically
+compat: handled classically
+control:
+  - generated for "rules maint"
+  - generated from "control.in" and "build-deps" in "rules debian/control::":
+    * "build-deps" lists build-depends to be inserted in "control
+      Build-Depends:"
+    * "control.in" serves of template for package descriptions of Debian main
+      packages and makes use of special stanzas enclosed in "@" such as
+      "@GST_ABI" which are replaced via sed in "rules debian/control::"
+    * "extra deps" is a shell script outputting additional binary packages
+      if you are building additional plugins
+control.in:
+  - serves generation of "control" in "rules debian/control::" via "mk.control"
+    called in "rules debian/control::"
+  - template for package descriptions of Debian main packages and makes use of
+    special stanzas enclosed in "@" such as "@GST_ABI" which are replaced via
+    sed in "rules debian/control::"
+copyright: handled classically
+extra:
+  - serves the generation of build-deps of additional packages not in Debian
+    main in "rules debian/build-deps:"
+  - serves the generation of additional binary packages if you are building
+    additional plugins in "rules debian/control::"
+gstreamer-$plugin.install:
+  - serves the generation of $gst_pkgname-$plugin.install (for example
+    gstreamer-alsa.install serves the generation of gstreamerX.Y-alsa.install) in
+    "rules pre-build::" via dynamic "@"-enclosed variables replacement
+  - some plugins are handled specially and some special variables are available
+gstreamer-plugins-base-apps.install: this isn't really a plugin, but the
+                                    gstreamerX.Y-plugins-base-apps package
+gstreamer-plugins-base-apps.manpages: man pages for the gstreamerX.Y-plugins-base-apps
+                                package
+HACKING.Debian: this file
+libgstreamer-plugins-base-dev.install libgstreamer-plugins-base.install: handled similarly has gstreamerX.Y-plugins-base-apps
+maint: makefile wrapping some targets of "rules" with some sh filtering
+mk.control:
+  - Perl script serving the generation of "control" which reads "build-deps"
+    and "control.in", and replaces the "BUILDDEPS" stanza with the build-deps
+patches: handled classically
+README.Debian: handled classically
+rules: handled classically, with special targets "maint:", and
+       "debian/build-deps:"
+watch: handled classically
+
+This file is the initial work of:
+David I. Lehn <dlehn@debian.org>  Tue, 13 Apr 2004 21:28:55 -0400
+and had some additions by:
+Loic Minier <lool@dooz.org>  Sun, 19 Jun 2005 19:04:58 +0200
+Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..d613e8a
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,66 @@
+Gstreamer for Debian
+====================
+This package contains the GStreamer plugin distribution.
+
+More information can be found at http://gstreamer.net/
+
+As of GStreamer plugins version 0.8.0 all packages are versioned and
+parallel installable with other releases with other major.minor
+versions.  For example, 0.8.x series is versioned as 0.8 and parallel
+installable with both unversioned 0.6.x series and future 0.9.x and
+beyond.  The version part is represented as VER below.
+
+GStreamer plugins are split into a number of packages:
+
+plugins without external dependencies:
+
+   gstreamerVER-plugins-ugly     many independent plugins
+
+documentation:
+
+   gstreamerVER-plugins-ugly-doc		html documentation
+
+
+Notes
+=====
+
+ChangeLog
+---------
+
+The upstream ChangeLog is not included in all the plugin packages due to its
+large size.  Please see upstream sources if you are interested in detailed
+source changes.
+
+Unofficial plugin packages
+--------------------------
+
+Various plugins in the upstream source are not yet packaged or not officially
+supported.  This is most likely due to:
+
+  * upstream considers them too unstable
+  * libraries they depend on are not are yet in Debian or are poorly supported
+
+To build additional unofficial plugin packages:
+
+  * Get the source and Debian diff (for example, "apt-get source gst-plugins")
+  * Add new package name to the EXTRA_PLUGINS variable in debian/rules
+  * Add appropriate dependency and control info to debian/extra
+  * Add a .install file for the package
+  * Rebuild
+
+External tools support
+----------------------
+
+Your favorite codec isn't wrapped as a plugin?  External programs can be
+used to process streams.  Take a look at "pipefilter" element or try
+something like this (untested):
+
+  $ mkfifo fifo
+  $ gst-launch myaudiosrc ! filesink location=fifo &
+  $ cat fifo | my_encoder > output_file
+
+
+David I. Lehn <dlehn@debian.org>  Tue, 23 Mar 2004 04:38:37 -0500
+
+update:
+Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100
diff --git a/debian/build-deps b/debian/build-deps
new file mode 100644
index 0000000..d60a33d
--- /dev/null
+++ b/debian/build-deps
@@ -0,0 +1,27 @@
+autoconf (>= 2.69)
+automake (>= 1.14)
+autopoint (>= 0.17)
+autotools-dev
+cdbs (>= 0.4.93)
+debhelper (>= 9)
+dh-autoreconf
+dpkg-dev (>= 1.15.1)
+@GST_EXTRA_BUILD_DEPENDS@
+@GST_LIB_DEV_DEP@
+gstreamer@GST_ABI@-doc
+gstreamer@GST_ABI@-plugins-base (>= 1.14.0)
+gstreamer@GST_ABI@-plugins-base-doc
+gtk-doc-tools (>= 1.12)
+liba52-0.7.4-dev
+libcdio-dev (>= 0.76)
+libdvdread-dev (>= 0.9.0)
+libglib2.0-dev (>= 2.40)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.14.0)
+libmpeg2-4-dev (>= 0.5.1)
+libopencore-amrnb-dev (>= 0.1.3)
+libopencore-amrwb-dev (>= 0.1.3)
+liborc-0.4-dev (>= 1:0.4.17)
+libsidplay1-dev
+libtool (>= 2.2.6)
+libx264-dev (>= 2:0.120)
+pkg-config (>= 0.11.0)
diff --git a/debian/build-deps.in b/debian/build-deps.in
new file mode 100644
index 0000000..9bf6a35
--- /dev/null
+++ b/debian/build-deps.in
@@ -0,0 +1,27 @@
+@GST_LIB_DEV_DEP@
+@GST_EXTRA_BUILD_DEPENDS@
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.14.0)
+autotools-dev
+dh-autoreconf
+automake (>= 1.14)
+autoconf (>= 2.69)
+libtool (>= 2.2.6)
+autopoint (>= 0.17)
+cdbs (>= 0.4.93)
+debhelper (>= 9)
+dpkg-dev (>= 1.15.1)
+pkg-config (>= 0.11.0)
+gtk-doc-tools (>= 1.12)
+libglib2.0-dev (>= 2.40)
+liborc-0.4-dev (>= 1:0.4.17)
+liba52-0.7.4-dev
+libmpeg2-4-dev (>= 0.5.1)
+libsidplay1-dev
+libdvdread-dev (>= 0.9.0)
+gstreamer@GST_ABI@-plugins-base (>= 1.14.0)
+libcdio-dev (>= 0.76)
+libopencore-amrnb-dev (>= 0.1.3)
+libopencore-amrwb-dev (>= 0.1.3)
+gstreamer@GST_ABI@-doc
+gstreamer@GST_ABI@-plugins-base-doc
+libx264-dev (>= 2:0.120)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..f94b2f4
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2528 @@
+gst-plugins-ugly1.0 (1.14.0-1) unstable; urgency=medium
+
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 Mar 2018 10:11:02 +0200
+
+gst-plugins-ugly1.0 (1.13.91-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 14 Mar 2018 11:10:44 +0200
+
+gst-plugins-ugly1.0 (1.13.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 05 Mar 2018 10:15:17 +0200
+
+gst-plugins-ugly1.0 (1.13.1-1) experimental; urgency=medium
+
+  * New upstream development release.
+  * debian/build-deps.in,
+    debian/gstreamer-plugins-ugly.install:
+    + Remove LAME, mpg123 and twolame plugins. They're in gst-plugins-good now.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 18 Feb 2018 13:05:17 +0200
+
+gst-plugins-ugly1.0 (1.12.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 07 Dec 2017 19:49:42 +0200
+
+gst-plugins-ugly1.0 (1.12.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 18 Sep 2017 21:36:42 +0300
+
+gst-plugins-ugly1.0 (1.12.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 14 Jul 2017 13:37:28 +0300
+
+gst-plugins-ugly1.0 (1.12.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 Jun 2017 11:52:48 +0300
+
+gst-plugins-ugly1.0 (1.12.0-1) experimental; urgency=medium
+
+  * debian/rules: Install with --fail-missing so we don't miss files.
+  * debian/control{,.in}: Provide C/R/P for -amr package to ease upgrades in
+    Ubuntu.
+  * New upstream stable release
+
+ -- Iain Lane <iain.lane@canonical.com>  Thu, 04 May 2017 15:19:30 +0300
+
+gst-plugins-ugly1.0 (1.11.91-1) experimental; urgency=medium
+
+  * New upstream release canditate
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 27 Apr 2017 17:17:42 +0300
+
+gst-plugins-ugly1.0 (1.11.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 07 Apr 2017 16:04:08 +0300
+
+gst-plugins-ugly1.0 (1.11.2-1) experimental; urgency=medium
+
+  * New development release
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 24 Feb 2017 14:48:20 +0200
+
+gst-plugins-ugly1.0 (1.11.1-1) experimental; urgency=medium
+
+  * New upstream development release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 12 Jan 2017 15:26:09 +0200
+
+gst-plugins-ugly1.0 (1.10.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 23 Feb 2017 15:40:50 +0200
+
+gst-plugins-ugly1.0 (1.10.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 30 Jan 2017 15:54:20 +0200
+
+gst-plugins-ugly1.0 (1.10.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 29 Nov 2016 15:57:40 +0200
+
+gst-plugins-ugly1.0 (1.10.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 17 Nov 2016 15:06:37 +0200
+
+gst-plugins-ugly1.0 (1.10.0-1) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Mark gstreamer1.0-doc Multi-Arch: foreign (Closes: #842526).
+
+  [ Sebastian Dröge ]
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 01 Nov 2016 17:54:43 +0200
+
+gst-plugins-ugly1.0 (1.9.90-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Sep 2016 12:42:54 +0300
+
+gst-plugins-ugly1.0 (1.9.2-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.2.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 01 Sep 2016 12:16:09 +0300
+
+gst-plugins-ugly1.0 (1.9.1-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.1.
+      - Build-depend on libmpeg2 >= 0.5.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 06 Jul 2016 13:16:06 +0300
+
+gst-plugins-ugly1.0 (1.8.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 09 Jun 2016 11:35:45 +0300
+
+gst-plugins-ugly1.0 (1.8.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 20 Apr 2016 18:28:38 +0300
+
+gst-plugins-ugly1.0 (1.8.0-1) unstable; urgency=medium
+
+  * New upstream stable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.8.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 24 Mar 2016 12:41:14 +0200
+
+gst-plugins-ugly1.0 (1.7.91-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.91.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 15 Mar 2016 12:12:15 +0200
+
+gst-plugins-ugly1.0 (1.7.90-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 01 Mar 2016 17:33:20 +0200
+
+gst-plugins-ugly1.0 (1.7.2-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.2.
+      - Update build-depends on opencore-amrnb/wb to >= 0.1.3.
+      - Build-depend on libmpg123-dev >= 1.13
+    + debian/gstreamer-plugins-ugly.install,
+      debian/control.in:
+      - Add new mpg123 plugin and add Replaces/Breaks for
+        gstreamer1.0-plugins-bad << 1.7.2 where it came from.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Feb 2016 11:43:42 +0200
+
+gst-plugins-ugly1.0 (1.7.1-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GLib >= 2.40 and GStreamer >= 1.7.1.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 24 Dec 2015 14:34:41 +0100
+
+gst-plugins-ugly1.0 (1.6.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 14 Dec 2015 19:54:06 +0100
+
+gst-plugins-ugly1.0 (1.6.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Oct 2015 16:56:30 +0200
+
+gst-plugins-ugly1.0 (1.6.0-1) unstable; urgency=medium
+
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 25 Sep 2015 23:05:23 +0200
+
+gst-plugins-ugly1.0 (1.5.91-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 18 Sep 2015 19:49:46 +0200
+
+gst-plugins-ugly1.0 (1.5.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Iain Lane <laney@debian.org>  Wed, 19 Aug 2015 14:01:48 +0300
+
+gst-plugins-ugly1.0 (1.5.2-1) experimental; urgency=medium
+
+  [ Iain Lane ]
+  * debian/watch: Update to match current URL scheme
+
+  [ Sebastian Dröge ]
+  * New unstable upstream release.
+
+ -- Iain Lane <laney@debian.org>  Mon, 15 Jun 2015 09:36:32 +0100
+
+gst-plugins-ugly1.0 (1.5.1-1) experimental; urgency=medium
+
+  * New unstable upstream release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 07 Jun 2015 11:07:42 +0200
+
+gst-plugins-ugly1.0 (1.5.0.1+git20150513-1) experimental; urgency=medium
+
+  * New upstream GIT snapshot.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 13 May 2015 13:25:26 +0300
+
+gst-plugins-ugly1.0 (1.5.0.1+git20150316-1) experimental; urgency=medium
+
+  * New upstream GIT snapshot.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 17 Mar 2015 09:24:19 +0100
+
+gst-plugins-ugly1.0 (1.4.5-1) experimental; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Dec 2014 12:25:44 +0100
+
+gst-plugins-ugly1.0 (1.4.4-2) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 11 Nov 2014 13:40:29 +0100
+
+gst-plugins-ugly1.0 (1.4.4-1) experimental; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 06 Nov 2014 13:02:56 +0100
+
+gst-plugins-ugly1.0 (1.4.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 24 Sep 2014 12:15:48 +0300
+
+gst-plugins-ugly1.0 (1.4.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Sep 2014 14:41:27 +0300
+
+gst-plugins-ugly1.0 (1.4.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Aug 2014 14:49:07 +0300
+
+gst-plugins-ugly1.0 (1.4.0-1) unstable; urgency=medium
+
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 19 Jul 2014 17:44:56 +0200
+
+gst-plugins-ugly1.0 (1.3.91-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.91.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 11 Jul 2014 11:41:22 +0200
+
+gst-plugins-ugly1.0 (1.3.90-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 28 Jun 2014 12:16:48 +0200
+
+gst-plugins-ugly1.0 (1.3.3-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.3.
+  * debian/rules:
+    + Run autopoint during autoreconf.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 22 Jun 2014 18:11:52 +0200
+
+gst-plugins-ugly1.0 (1.3.2-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.2.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 May 2014 12:56:31 +0200
+
+gst-plugins-ugly1.0 (1.3.1-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.1.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 03 May 2014 19:35:41 +0200
+
+gst-plugins-ugly1.0 (1.2.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release:
+    + debian/patches/01_a52dec-configure.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 19 Apr 2014 15:48:49 +0200
+
+gst-plugins-ugly1.0 (1.2.3-2) unstable; urgency=medium
+
+  * debian/patches/01_a52dec-configure.patch:
+    + Fix configure check for a52dec after latest upload of a52dec.
+      Patch taken from multiple upstream commits (Closes: #739803).
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 23 Feb 2014 11:09:07 +0100
+
+gst-plugins-ugly1.0 (1.2.3-1) unstable; urgency=medium
+
+  [ Iain Lane ]
+  * Drop ltmain-as-needed and do the same with dh_autoreconf --as-needed.
+    Thanks, Logan Rosen. (Closes: #734560) 
+
+  [ Sebastian Dröge ]
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 09 Feb 2014 11:27:13 +0100
+
+gst-plugins-ugly1.0 (1.2.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 27 Dec 2013 11:03:19 +0100
+
+gst-plugins-ugly1.0 (1.2.1-1) unstable; urgency=low
+
+  [ Fabian Greffrath ]
+  * Team upload.
+  * Update Vcs-Browser field in debian/control{,.in}.
+
+  [ Sebastian Dröge ]
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 09 Nov 2013 17:10:37 +0100
+
+gst-plugins-ugly1.0 (1.2.0-1) unstable; urgency=low
+
+  * New upstream stable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.2.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 24 Sep 2013 16:52:08 +0200
+
+gst-plugins-ugly1.0 (1.1.90-1) experimental; urgency=low
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 19 Sep 2013 12:50:32 +0200
+
+gst-plugins-ugly1.0 (1.1.4-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.4.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Aug 2013 12:56:41 +0200
+
+gst-plugins-ugly1.0 (1.1.3-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 30 Jul 2013 08:53:05 +0200
+
+gst-plugins-ugly1.0 (1.1.2-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.2.
+      - Build depend on orc >= 0.4.17.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 14 Jul 2013 12:08:01 +0200
+
+gst-plugins-ugly1.0 (1.0.8-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 13 Jul 2013 11:34:26 +0200
+
+gst-plugins-ugly1.0 (1.0.7-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 26 Apr 2013 14:09:39 +0200
+
+gst-plugins-ugly1.0 (1.0.6-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 22 Mar 2013 18:19:37 +0100
+
+gst-plugins-ugly1.0 (1.0.5-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 08 Jan 2013 13:51:24 +0100
+
+gst-plugins-ugly1.0 (1.0.4-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Dec 2012 10:33:01 +0100
+
+gst-plugins-ugly1.0 (1.0.3-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 Nov 2012 14:56:18 +0100
+
+gst-plugins-ugly1.0 (1.0.2-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 25 Oct 2012 14:01:36 +0200
+
+gst-plugins-ugly1.0 (1.0.1-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 08 Oct 2012 10:56:38 +0200
+
+gst-plugins-ugly1.0 (1.0.0-1) unstable; urgency=low
+
+  * New upstream stable release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 1.0.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 25 Sep 2012 00:25:51 +0200
+
+gst-plugins-ugly1.0 (0.11.99-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 0.11.99.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 18 Sep 2012 10:12:34 +0200
+
+gst-plugins-ugly1.0 (0.11.94-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 0.11.93.
+      - Build-depend on gtk-doc >= 1.12.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 14 Sep 2012 10:39:56 +0200
+
+gst-plugins-ugly1.0 (0.11.93-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.93.
+    + debian/build-deps.in:
+      - Depend on libx264-dev >= 2:0.106.
+      - Depend on ORC >= 0.4.16.
+      - Depend on GLIB >= 2.23.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 09 Aug 2012 11:28:47 +0200
+
+gst-plugins-ugly1.0 (0.11.92-1) experimental; urgency=low
+
+  * New upstream release, "Hey You":
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.92.
+    + debian/build-deps.in:
+      - Depend on libx264-dev >= 2:0.106.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 08 Jun 2012 13:30:02 +0200
+
+gst-plugins-ugly1.0 (0.11.91-1) experimental; urgency=low
+
+  * New upstream release, "I’ll grind his bones to make my bread!":
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.91.
+  * debian/build-deps.in:
+    + Update debhelper, autoconf, automake and libtool dependencies.
+  * debian/control.in:
+    + Update Standards-Version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 21 May 2012 15:16:03 +0200
+
+gst-plugins-ugly1.0 (0.11.90-1) experimental; urgency=low
+
+  [ Olivier Naudan ]
+  * Imported Upstream version 0.11.90
+  * Imported debian/ from gst-plugins-ugly 0.10.19-1
+  * Updated debian/ for GStreamer 1.0
+  * debian/*.install: removed the plugins that have disappeared upstream
+  * debian/*.install: added a new plugin, xingmux
+
+  [ Sebastian Dröge ]
+  * Build-depend on GLib >= 2.31.14.
+  * Update copyright.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 02 May 2012 20:29:44 +0200
+
+gst-plugins-ugly0.10 (0.10.19-1) unstable; urgency=low
+
+  * New upstream stable release, "Stronger":
+    + debian/rules,
+      debian/build-deps.in:
+      - Require GStreamer core/base >= 0.10.36.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 21 Feb 2012 10:51:40 +0100
+
+gst-plugins-ugly0.10 (0.10.18.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 06 Feb 2012 11:08:55 +0100
+
+gst-plugins-ugly0.10 (0.10.18.2-2) experimental; urgency=low
+
+  * debian/control.in:
+    + Build-depend on automake (>= 1.10), autoconf (>= 2.60) and
+      libtool (>= 2.0) to make dh-autoreconf actually work.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 14 Dec 2011 09:51:04 +0100
+
+gst-plugins-ugly0.10 (0.10.18.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer core/base 0.10.35.2.
+      - Build-depend on GLib 2.24.
+      - Build-depend on ORC 0.4.11.
+      - Don't build-depend anymore on libid3tag.
+    + debian/patches/99_ltmain_as-needed.patch:
+      - Refreshed to apply cleanly again.
+  * debian/build-deps.in,
+    debian/compat,
+    debian/control.in,
+    debian/gstreamer-plugins-ugly.install,
+    debian/rules:
+    + Transition package to multi-arch (Closes: #647488).
+      Patch taken from the Ubuntu package.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 12 Dec 2011 09:42:37 +0100
+
+gst-plugins-ugly0.10 (0.10.18-3) unstable; urgency=low
+
+  * Add lame to the ugly plugin set as it's available in Debian now (Closes: #636065).
+
+ -- Fabian Greffrath <fabian+debian@greffrath.com>  Fri, 29 Jul 2011 13:33:09 +0200
+
+gst-plugins-ugly0.10 (0.10.18-2) unstable; urgency=low
+
+  * Add x264enc to the ugly plugin set as it's available in debian now
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Tue, 26 Jul 2011 20:46:34 +0100
+
+gst-plugins-ugly0.10 (0.10.18-1) unstable; urgency=low
+
+  * New upstream release, "Extra Life".
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 10 May 2011 15:54:01 +0200
+
+gst-plugins-ugly0.10 (0.10.17.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Apr 2011 16:09:41 +0200
+
+gst-plugins-ugly0.10 (0.10.17.2-1) experimental; urgency=low
+
+  [ Alessandro Decina ]
+  * debian/rules:
+    + Include dh-autoreconf cdbs rule
+  * debian/build-deps.in:
+    + Add dependency on dh-autoreconf
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 17 Apr 2011 11:34:16 +0200
+
+gst-plugins-ugly0.10 (0.10.17-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 22 Mar 2011 15:25:53 +0100
+
+gst-plugins-ugly0.10 (0.10.17-1) experimental; urgency=low
+
+  * New upstream stable release, "Raised by Wolves".
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 22 Jan 2011 13:57:04 +0100
+
+gst-plugins-ugly0.10 (0.10.16.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Jan 2011 21:19:02 +0100
+
+gst-plugins-ugly0.10 (0.10.16.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 13 Jan 2011 13:43:53 +0100
+
+gst-plugins-ugly0.10 (0.10.16.2-1) experimental; urgency=low
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/build-deps.in,
+    debian/rules:
+    + Use dpkg-vendor instead of lsb_release.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/build-deps.in:
+      - Require ORC >= 0.4.6.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 10 Jan 2011 17:34:11 +0100
+
+gst-plugins-ugly0.10 (0.10.16-2) experimental; urgency=low
+
+  * debian/build-deps.in:
+    + Add epoch to the orc build dependency to get dependencies on
+      the correct version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 17 Sep 2010 13:28:42 +0200
+
+gst-plugins-ugly0.10 (0.10.16-1) experimental; urgency=low
+
+  * New upstream release, "Because He Knows the Time is Short".
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 03 Sep 2010 12:36:41 +0200
+
+gst-plugins-ugly0.10 (0.10.15.6-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 30 Aug 2010 16:12:57 +0200
+
+gst-plugins-ugly0.10 (0.10.15.5-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 25 Aug 2010 22:12:59 +0200
+
+gst-plugins-ugly0.10 (0.10.15.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 21 Aug 2010 21:59:43 +0200
+
+gst-plugins-ugly0.10 (0.10.15.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Aug 2010 21:20:10 +0200
+
+gst-plugins-ugly0.10 (0.10.15.2-1) experimental; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/01_x264-i-weighted-pred.patch:
+    + Don't fail the build if x264 is accidentially installed but
+      an older version is used (Closes: #584094).
+      Patch from upstream bugzilla.
+
+  [ أحمد المحمودي (Ahmed El-Mahmoudy) ]
+  * Added patch rmdemux_pass_bitrate_on_caps.patch from upstream to fix
+    a problem with playing some media files with Sipro codec.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/rmdemux_pass_bitrate_on_caps.patch,
+      debian/patches/01_x264-i-weighted-pred.patch:
+      - Dropped, merged upstream.
+    + debian/build-deps.in:
+      - Build depend on orc instead of liboil.
+      - Build depend on GLib >= 2.20.
+  * 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). 
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Aug 2010 09:19:36 +0200
+
+gst-plugins-ugly0.10 (0.10.15-1) unstable; urgency=low
+
+  * New upstream release, "Englishman in a Baseball Cap":
+    + debian/build-deps.in:
+      - Build depend on GLib >= 2.18 and liboil >= 0.3.14.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 31 May 2010 05:41:45 +0200
+
+gst-plugins-ugly0.10 (0.10.14.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 26 May 2010 15:36:52 +0200
+
+gst-plugins-ugly0.10 (0.10.14.2-2) unstable; urgency=low
+
+  * debian/control.in:
+    + Let the -dev package depend on the GStreamer core/base documentation
+      for cross references.
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 20 May 2010 13:55:52 +0200
+
+gst-plugins-ugly0.10 (0.10.14.2-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/build-deps.in:
+    + Build depend on GStreamer core/base documentation to get correct
+      cross references.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 15 May 2010 10:00:57 +0200
+
+gst-plugins-ugly0.10 (0.10.14-1) unstable; urgency=low
+
+  * New upstream stable release, "Run Rabbit".
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 08 Mar 2010 10:04:09 +0000
+
+gst-plugins-ugly0.10 (0.10.13.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 25 Feb 2010 08:29:15 +0100
+
+gst-plugins-ugly0.10 (0.10.13.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + Broken id3mux plugin is removed now (Closes: #383825).
+      A better version of it is in gst-plugins-bad >= 0.10.17.2.
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on gstreamer and gst-plugins-base >= 0.10.26.
+  * debian/control.in:
+    + Fix typos in package descriptions (Closes: #557472, #557478).
+    + Remove David I. Lehn from Uploaders (Closes: #557282).
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Feb 2010 13:58:43 +0100
+
+gst-plugins-ugly0.10 (0.10.13-2) unstable; urgency=low
+
+  * debian/extra, debian/gstreamer-amrnb.install, debian/README.Debian:
+    + Removed the gstreamer-amrnb extra package which got dropped upstream
+      in favor of opencore-amr.
+
+ -- Fabian Greffrath <fabian@debian-unofficial.org>  Thu, 22 Oct 2009 11:34:41 +0200
+
+gst-plugins-ugly0.10 (0.10.13-1) unstable; urgency=low
+
+  * New upstream release, "Appointed Point".
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 Oct 2009 19:45:55 +0200
+
+gst-plugins-ugly0.10 (0.10.12.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 16 Oct 2009 08:58:54 +0200
+
+gst-plugins-ugly0.10 (0.10.12.2-1) experimental; urgency=low
+
+  [ Fabian Greffrath ]
+  * debian/extra, debian/gstreamer-x264.install, debian/README.Debian:
+    + Introduced the gstreamer-x264 package which has been moved here from
+      gst-plugins-bad0.10.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Update GStreamer and gst-plugins-base build dependencies.
+  * debian/build-deps.in,
+    debian/gstreamer-plugins-ugly.install:
+    + Enable the OpenCore AMR WB/NB plugins.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 12 Oct 2009 17:12:15 +0200
+
+gst-plugins-ugly0.10 (0.10.12-1) unstable; urgency=low
+
+  * New upstream release, 'Moving Along The Highway'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Jun 2009 13:42:13 +0200
+
+gst-plugins-ugly0.10 (0.10.11.2-1) experimental; urgency=low
+
+  [ Fabian Greffrath ]
+  * debian/extra:
+    + Added XB-GStreamer-* fields for the extra packages.
+  * debian/rules:
+    + Run debian/extra with sh (it has no execute permissions).
+    + Append extra packages to debian/control (and do not override it).
+  * debian/build-deps, debian/control, debian/rules:
+    + Order, wrap and indent Build-Depends; this will improve interdiffs for
+      packages that provide the extra plugins.
+  * debian/TODO.Debian:
+    + Removed, I don't think any of these things are still relevant.
+  * debian/control, debian/control.in, debian/extra:
+    + Removed duplicate Section fields from gstreamer0.10-plugins-ugly and
+      the extra plugins.
+    + Changed Section to debug for gstreamer0.10-plugins-ugly-dbg.
+    + Added Depends on ${misc:Depends} to gstreamer0.10-plugins-ugly-dbg and
+      the extra plugins.
+    + Improved duplicate short description for gstreamer0.10-plugins-ugly-dbg.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Update build dependencies.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.1, no additional changes needed.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 06 Jun 2009 17:54:30 +0200
+
+gst-plugins-ugly0.10 (0.10.11-1) unstable; urgency=low
+
+  * debian/build-deps.in:
+    + Only depend on libdvdread-dev, libdvdread3-dev only existed in sarge
+      (Closes: #499585).
+  * New upstream release, 'Their swords and their knives'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 21 Mar 2009 09:36:41 +0100
+
+gst-plugins-ugly0.10 (0.10.10.2-1) unstable; urgency=low
+
+  * debian/rules:
+    + Pass -Wno-error via C(XX)FLAGS.
+  * New upstream pre-release:
+    + debian/control.in,
+      debian/gstreamer-plugins-ugly.install,
+      debian/build-deps.in:
+      - Build and ship twolame plugin which was moved from gst-plugins-bad.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 10 Mar 2009 08:17:48 +0100
+
+gst-plugins-ugly0.10 (0.10.10-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 15 Feb 2009 20:12:11 +0100
+
+gst-plugins-ugly0.10 (0.10.10-1) experimental; urgency=low
+
+  * New upstream release, 'Under the House'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 20 Nov 2008 08:34:17 +0100
+
+gst-plugins-ugly0.10 (0.10.9.2-1) experimental; urgency=low
+
+  [ Loic Minier ]
+  * Let the -dbg package replace gstreamer0.10-plugins-good-dbg (<< 0.10.9.2);
+    thanks Emilio Pozuelo Monfort; see Launchpad #292870.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/01_asfdemux-flow-returns.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 09 Nov 2008 16:19:21 +0100
+
+gst-plugins-ugly0.10 (0.10.9-1) experimental; urgency=low
+
+  * New upstream release, 'Back The Way It Was'.
+  * debian/patches/01_asfdemux-flow-returns.patch:
+    + Patch from upstream CVS to fix a regression on aggregating flow
+      returns of different src pads.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 28 Aug 2008 10:31:02 +0200
+
+gst-plugins-ugly0.10 (0.10.8.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/gstreamer-plugins-ugly.install,
+      debian/control.in:
+      - Add the cdio plugin, it moved from gst-plugins-good because libcdio
+        is GPL licensed.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.0, no additional changes needed.
+    + Wrap Uploaders and Depends.
+  * debian/control.in,
+    debian/rules:
+    + Use new automatic codec installation infrastructure.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 15 Aug 2008 09:09:51 +0200
+
+gst-plugins-ugly0.10 (0.10.8-1) unstable; urgency=low
+
+  * New upstream stable release, "And yet".
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 22 May 2008 09:40:41 +0200
+
+gst-plugins-ugly0.10 (0.10.7.4-1) unstable; urgency=low
+
+  * New upstream pre-release:
+    + Fixes some bugs with the Real demuxer (Closes: #479996).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 May 2008 09:42:17 +0200
+
+gst-plugins-ugly0.10 (0.10.7.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 15 May 2008 09:53:02 +0200
+
+gst-plugins-ugly0.10 (0.10.7.2-1) unstable; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/01_xingmux-header-position.patch,
+      debian/patches/02_mp3parse-timestamps.patch,
+      debian/patches/03_mp3-tag-caching.patch,
+      debian/patches/75_build_docs_without_python_xml.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 10 May 2008 20:30:46 +0200
+
+gst-plugins-ugly0.10 (0.10.7-3) unstable; urgency=low
+
+  * debian/patches/03_mp3-tag-caching.patch:
+    + Don't take the stream lock when caching the events, this is a) not
+      necessary and b) will result in deadlocks in some cases.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 12 Mar 2008 17:07:31 +0100
+
+gst-plugins-ugly0.10 (0.10.7-2) unstable; urgency=low
+
+  * debian/extra:
+    + Update for new lame package names in Debian Multimedia and Debian
+      Unofficial. Thanks to Fabian Greffrath (Closes: #466863).
+      Also add amrnb package and be more consistent with MPEG in the
+      descriptions.
+  * debian/patches/75_build_docs_without_python_xml.patch,
+    debian/build-deps.in:
+    + Stop using pyxml for building the docs (Closes: #468626).
+  * debian/patches/01_xingmux-header-position.patch:
+    + Write the Xing header at the correct position for stereo files.
+      Patch from upstream CVS.
+  * debian/patches/02_mp3parse-timestamps.patch:
+    + Try harder to get correct timestamps with mp3parse.
+      Patch from upstream CVS.
+  * debian/patches/03_mp3-tag-caching.patch:
+    + Cache all events except EOS, this fixes missing tags when reenconding
+      MP3s. Patch from upstream CVS.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 11 Mar 2008 05:20:22 +0100
+
+gst-plugins-ugly0.10 (0.10.7-1) unstable; urgency=low
+
+  * New upstream release, "I Cheated Time".
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 21 Feb 2008 10:49:32 +0100
+
+gst-plugins-ugly0.10 (0.10.6.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * 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.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 19 Feb 2008 06:55:26 +0100
+
+gst-plugins-ugly0.10 (0.10.6.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/build-deps.in:
+    + Build depend on gstreamer0.10-plugins-base for the unit tests.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 14 Feb 2008 13:17:48 +0100
+
+gst-plugins-ugly0.10 (0.10.6.2-1) experimental; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/rules:
+    + Fix setting of the GST_REGISTRY environment variable.
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/rules:
+    - Decide the package name and url depending on the distribution.
+  * debian/build-deps.in:
+    - Build-Depend on lsb-release.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + Fixes FTBFS if built twice in a row (Closes: #424383).
+    + debian/rules,
+      debian/build-deps.in:
+      - Update liboil and gstreamer build dependencies.
+    + debian/patches/00-mpegaudioparse-cvs20071117.patch:
+      - Dropped, merged upstream.
+    + debian/control.in:
+      - Add Conflicts for gst-plugins-bad as the xingmux element moved
+        to the mpegaudioparse plugin and having the one from bad and ugly
+        installed at the same time will give errors.
+      - Update Standards-Version to 3.7.3, no additional changes needed.
+  * debian/rules:
+    + Run unit test suite but don't fail the build on failures.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 09 Feb 2008 13:48:43 +0100
+
+gst-plugins-ugly0.10 (0.10.6-3) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/rules:
+      + Set GST_REGISTRY before the dh_gstscancodecs call to save the registry
+        somewhere on buildds without writable home and speed things up a
+        bit.
+  * debian/build-deps.in:
+      + Remove check from build dependencies. This is only an indirect build
+        dependency that is already satisfied by libgstreamer0.10-dev. configure
+        only checks for libgstcheck, not check.
+
+  [ Sjoerd Simons ]
+  * Added debian/patches/00-mpegaudioparse-cvs20071117.patch
+    - Updates mpegaudioparse to the CVS version of 17-11-2007
+    - No longer sends segments before the caps are fixed which seems to confuse
+      autopluggers and causes MP3 playback to fail with the latest gstreamer
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Sat, 17 Nov 2007 20:58:36 +0100
+
+gst-plugins-ugly0.10 (0.10.6-2) unstable; urgency=low
+
+  * debian/build-deps.in,
+    debian/rules:
+    + Call dh_gstinstallcodecs to generate the codecs database.
+  * debian/gstreamer-plugins-ugly.install:
+    + Ship translations with the plugin package.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 31 Aug 2007 09:38:17 +0200
+
+gst-plugins-ugly0.10 (0.10.6-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "The Sacrifice":
+    + debian/rules,
+      debian/build-deps.in:
+      - Require gstreamer and gst-plugins-base (>= 0.10.13).
+    + debian/patches/30_gstasfdemux_length-guards.patch:
+      - Dropped, merged upstream.
+  * debian/control.in:
+    + Use ${binary:Version} instead of ${Source-Version} to make lintian happy.
+
+  [ Loic Minier ]
+  * Cleanup sed foo and add a rule to strip empty build-dep substistutions.
+  * Add a grep to the Perl build-deps generation to strip empty lines.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 19 Jun 2007 19:30:44 +0200
+
+gst-plugins-ugly0.10 (0.10.5-2) unstable; urgency=low
+
+  * Upload to unstable
+  * Merge experimental branch:
+    + New upstream release 0.10.5, "She Said":
+      - Fixes playing of avi files over the network (Closes: #370364)
+      - debian/rules:
+        . Require gstreamer >= 0.10.6
+      - debian/patches/01_ac3-handling-fix.patch,
+        debian/patches/02_mpeg2dec-ppc.patch:
+        . Dropped, merged upstream 
+  * debian/control.in:
+    + Update to use my debian.org address
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Apr 2007 08:57:18 +0200
+
+gst-plugins-ugly0.10 (0.10.4-5) unstable; urgency=medium
+
+  * New patch, 30_gstasfdemux_length-guards, adds length guarding checks and
+    fixes a memory leak; backported from GNOME #336370.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 26 Feb 2007 17:33:24 +0100
+
+gst-plugins-ugly0.10 (0.10.4-4) unstable; urgency=low
+
+  * Merge 0.10.4-3 from experimental.
+  * Upload to unstable.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 13 Nov 2006 13:50:34 +0100
+
+gst-plugins-ugly0.10 (0.10.4-3) experimental; urgency=low
+
+  * Re-add -dbg package.
+  * Target at experimental.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 17 Oct 2006 18:34:55 +0200
+
+gst-plugins-ugly0.10 (0.10.4-2sid2) unstable; urgency=low
+
+  * debian/patches/02_mpeg2dec-ppc.patch:
+    + Updated. Fix warnings when there are GstBaseTransform elements
+      downstream. Also take a timestamp fix from upstream CVS.
+
+ -- Sebastian Dröge <slomo@ubuntu.com>  Mon,  6 Nov 2006 18:17:14 +0100
+
+gst-plugins-ugly0.10 (0.10.4-2sid1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/patches/02_mpeg2dec-ppc.patch:
+    + 16byte-align the mpeg2dec outbuf buffer to prevent segfaults on PPC with
+      altivec optimizations (Closes: #365718)
+      http://bugzilla.gnome.org/show_bug.cgi?id=327350
+
+  [ Loic Minier ]
+  * Set version to 0.10.4-2sid1 as -3 was uploaded towards experimental.
+
+ -- Loic Minier <lool@dooz.org>  Thu,  2 Nov 2006 18:35:11 +0100
+
+gst-plugins-ugly0.10 (0.10.4-2) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/01_ac3-handling-fix.patch:
+    + Fix volume handling when downmixing
+  * debian/rules,
+    debian/control.in:
+    + Add a -dbg package
+
+  [ Loic Minier ]
+  * Drop -dbg package for now, this version is for etch.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 17 Oct 2006 18:31:37 +0200
+
+gst-plugins-ugly0.10 (0.10.4-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "Metal Molly"
+  * debian/compat,
+    debian/build-deps.in:
+    + Update to debhelper compat level 5
+
+  [ Loic Minier ]
+  * Don't build the doc on arm and m68k.  It's painfully long, and -- at least
+    on arm -- it sometimes segfaults; also see #383147.
+
+ -- Loic Minier <lool@dooz.org>  Wed, 23 Aug 2006 21:43:58 +0200
+
+gst-plugins-ugly0.10 (0.10.3-2) unstable; urgency=low
+
+  * Bump up Standards-Version to 3.7.2.
+    [debian/control, debian/control.in]
+  * Build-dep on libdvdread-dev (>= 0.9.0) | libdvdread3-dev (>= 0.9.0) since
+    sbuild fails building despite the added Provides, thanks Julien Danjou.
+    (Closes: #366169)
+
+ -- Loic Minier <lool@dooz.org>  Wed, 14 Jun 2006 22:24:06 +0200
+
+gst-plugins-ugly0.10 (0.10.3-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "Late Plane".
+  * Added myself to Uploaders
+
+  [ Loic Minier ]
+  * Fixed release name above. :)
+
+ -- Loic Minier <lool@dooz.org>  Mon,  3 Apr 2006 17:09:57 +0200
+
+gst-plugins-ugly0.10 (0.10.2-1) unstable; urgency=low
+
+  * New upstream release, "Season to Taste".
+
+ -- Loic Minier <lool@dooz.org>  Tue, 21 Feb 2006 17:02:44 +0100
+
+gst-plugins-ugly0.10 (0.10.1.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 20 Feb 2006 20:09:41 +0100
+
+gst-plugins-ugly0.10 (0.10.1.2-1) unstable; urgency=low
+
+  * New upstream pre-release.
+    - Bump up libgstreamer-plugins-base0.10-dev build-dep to 0.10.3.
+      [debian/build-deps, debian/build-deps.in, debian/control]
+    - Add asfdemux plugin.
+      [debian/gstreamer-plugins-ugly.install]
+    - Add dvdread plugin and build-dep on libdvdread3-dev >= 0.9.0.
+      [debian/build-deps, debian/build-deps.in, debian/control,
+       debian/gstreamer-plugins-ugly.install]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 18 Feb 2006 09:02:11 +0100
+
+gst-plugins-ugly0.10 (0.10.1-1) unstable; urgency=low
+
+  * New upstream release, "Peng".
+    - Bump libgstreamer-plugins-base0.10-dev to >= 0.10.1.
+      [debian/build-deps, debian/build-deps.in, debian/control]
+    - Bump libgstreamer0.10-dev to >= 0.10.1.
+      [debian/control, debian/rules]
+  * Drop useless gst_plugins_base_lib, gst_plugins_base_lib_dev,
+    gst_plugins_base_lib_dev_dep, and gst_plugins_ugly_version declarations.
+    [debian/rules]
+  * Use upstream descriptions in packages descriptions.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 11 Feb 2006 17:31:08 +0100
+
+gst-plugins-ugly0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New package;
+    + Re-added the debian/extra hack from the gst-plugins0.8 package
+    + Adjusted package names, install files, etc
+
+  [ Loic Minier ]
+  * Upload to unstable.
+
+ -- Loic Minier <lool@dooz.org>  Sun,  1 Jan 2006 22:50:13 +0100
+
+gst-plugins-good0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastien Bacher ]
+  * New package:
+    - clean patches
+      [debian/patches/50_cdparanoia-fix-eos-detection-of-last-title.patch]
+    - updated Build-Depends [debian/build-deps.in]
+    - updated documentation [debian/README.Debian, debian/TODO.Debian]
+    - updated packages list [debian/control.in, debian/gstreamer-alsa.install,
+      debian/gstreamer-gnomevfs.install, debian/gstreamer-misc.install,
+      debian/gstreamer-plugins-base-apps.instal,
+      debian/gstreamer-plugins-base-apps.manpages,
+      debian/gstreamer-plugins-base-doc.install,
+      debian/gstreamer-x.install, debian/libgstreamer-plugins-base-dev.install,
+      debian/libgstreamer-plugins-base.install, debian/gstreamer-aa.install,
+      debian/gstreamer-auto.install, debian/gstreamer-caca.install,
+      debian/gstreamer-esd.install, debian/gstreamer-misc-good.install,
+      debian/gstreamer-oss.install, debian/gstreamer-plugins-good-doc.install,
+      debian/rules]
+    - updated upstream location [debian/watch]
+    - don't use type-handling it's not useful
+      [debian/build-deps.in, debian/control.in, debian/rules]
+
+  [ Loic Minier ]
+  * Merge aa, auto, caca, and oss packages and plugins in misc and let it
+    provide audio and videosinks;  use a couple of @GST_ABI@s where
+    appropriate.
+    [debian/control, debian/control.in,
+    debian/gstreamer-aa.install, debian/gstreamer-caca.install,
+    debian/gstreamer-misc-good.install, debian/gstreamer-oss.install,
+    debian/rules]
+  * Rename for good misc-good in good.
+    [debian/control debian/control.in
+     debian/gstreamer-misc-good.install debian/rules]
+  * Downgrade cdbs build-dep for Debian.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Rename gstreamer0.10-good in gstreamer0.10-plugins-good.
+    [debian/control, debian/control.in, debian/gstreamer-good.install,
+    debian/gstreamer-plugins-good.install, debian/rules]
+  * Add a build-dep on check.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Remove python-twisted build-dep.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+
+ -- Loic Minier <lool@dooz.org>  Wed, 21 Dec 2005 17:37:46 +0100
+
+gst-plugins-base0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastien Bacher ]
+  * New package:
+    - build the documentation [debian/rules]
+    - no action needed to register the plugins with the new version
+      [debian/gstreamer-plugin-template.postinst,
+       debian/gstreamer-plugin-template.postrm,
+       debian/libgstreamer-plugins.postinst,
+       debian/libgstreamer-plugins.postrm, debian/rules]
+    - drop mechanism to build extra packages for other distributions around,
+      it's not useful for base [debian/extras, debian/rules]
+    - drop transitionnal workaround [debian/gstreamer-plugin-template.preinst]
+    - new gstreamer-plugin-base-doc package [debian/control.in, debian/rules]
+    - remove obsolete patches
+      [debian/patches/10_wavpack-high-quality-segfault.patch,
+      debian/patches/30_alsa-verify-accepted-period-size.patch,
+      debian/patches/31_alsa-advanced-probing.patch,
+      debian/patches/40_audioscale-timestamps-and-durations.patch,
+      debian/patches/50_ladspa-quiet.patch]
+    - updated the Build-Depends [debian/build-dep.in]
+    - updated the packages descriptions [debian/control.in]
+    - updated the packages names/list [debian/control.in,
+      debian/gstreamer-a52dec.install, debian/gstreamer-aa.install,
+      debian/gstreamer-artsd.install, debian/gstreamer-audiofile.install,
+      debian/gstreamer-avifile.install, debian/gstreamer-caca.install,
+      debian/gstreamer-cdio.install, debian/gstreamer-dvd.install,
+      debian/gstreamer-dv.install, debian/gstreamer-esd.install,
+      debian/gstreamer-festival.install, debian/gstreamer-flac.install,
+      debian/gstreamer-gsm.install, debian/gstreamer-gtk.install,
+      debian/gstreamer-hermes.install, debian/gstreamer-jpeg.install,
+      debian/gstreamer-lame.install, debian/gstreamer-mad.install,
+      debian/gstreamer-mikmod.install, debian/gstreamer-mms.install,
+      debian/gstreamer-mpeg2dec.install, debian/gstreamer-oss.install,
+      debian/gstreamer-sdl.install, debian/gstreamer-sid.install,
+      debian/gstreamer-speex.install, debian/gstreamer-swfdec.install,
+      debian/libgstreamer-gconf.install, debian/libgstreamer-gconf-dev.install,
+      debian/gstreamer-vorbis.install, debian/rules]
+    - updated the packages lists [debian/gstreamer-misc.install,
+      debian/libgstreamer-plugins-base-dev.install,
+      debian/libgstreamer-plugins-base.install]
+    - updated packages content
+      [debian/gstreamer-misc.install, debian/gstreamer-x.install]
+    - updated the version [debian/rules]
+    - updated watch file [debian/watch]
+
+  [ Loic Minier ]
+  * Minor cleanups.
+    [debian/rules]
+  * Add Sebastien Bacher to Uploaders.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 17 Dec 2005 18:11:03 +0100
+
+gst-plugins0.8 (0.8.11-3) unstable; urgency=medium
+
+  * New CDIO plugin package.
+    . Add libcdio-dev build-dep for CDIO support.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Add package description and file listing.
+      [debian/gstreamer-cdio.install, debian/control.in, debian/control]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * New MMS plugin package. (Closes: #301246)
+    . Add libmms-dev build-dep for mms:// and mmsh:// support.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Add package description and file listing.
+      [debian/gstreamer-cdio.install, debian/control.in, debian/control]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * Fix the homepage of the mikmod page and stop linking to an adult web site.
+    [debian/control, debian/control.in]
+  * Remove "Section: libs" from binary packages.
+    [debian/control, debian/control.in]
+  * Exit with non-zero code when requesting an unknown plugin.
+    [debian/extra]
+  * Add sample code to permit other distros to build additional plugins.
+    [debian/rules]
+  * Minor cleanups.
+    [debian/rules]
+  * New Gtk / Gdk package to split out this dep-tree for KDE folks, from
+    Ubuntu, thanks Sebastien Bacher.
+    . Add package description and file listing, remove it from -misc.
+      [debian/control.in, debian/control, debian/gstreamer-gtk.install,
+      debian/gstreamer-misc.install]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+    . Only "Replace" with -misc in the first version doing the split
+      (0.8.11-0ubuntu3), no Conflict needed.
+  * Add wavpack support, build the wavpack plugin and ship it in -misc.
+    (Closes: #339598)
+    . Add a libwavpack-dev build-dep.
+      [debian/build-deps, debian/build-deps.in]
+    . Ship plugin in -misc.
+      [debian/gstreamer-misc.install]
+    . Adjust the size of the internal decode buffer dynamically instead of
+      assuming 0.5 seconds are enough;  fixes a segfault when playing files
+      encoded with -h;  upstream bug: #317774;  fix committed in branch
+      BRANCH-GSTREAMER-0_8.
+      [debian/patches/10_wavpack-high-quality-segfault.patch]
+  * Backport some interesting upstream fixes from CVS fixing most resampling
+    issues for non-standard bitrates and for complex ALSA configurations
+    (especially dmix), thanks Tim-Philipp Müller, Luca Ognibene, and others.
+    (Closes: #323447, #324163, #326135, #340038)
+    - When doing _set_period_size_near(), see what period size was actually
+      set in the end and continue working with that value instead of just
+      assuming the desired period size was accepted;  upstream bug #318767;
+      fix committed in branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/30_alsa-verify-accepted-period-size.patch]
+    - Don't mess up timestamps and durations when resampling by more than a
+      factor of 2 (e.g. 8kHz => 48kHz);  upstream bug #318273;  fix committed
+      in branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/40_audioscale-timestamps-and-durations.patch]
+    - When the default device is being used, try to probe the caps of the
+      underlying device instead if possible. This should give more narrowly
+      defined caps that are closer to the hardware's capabilities. This is
+      enabled by default, but can be switched off via the new
+      'advanced-probing' property;  upstream bug #315121;  fix committed in
+      branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/31_alsa-advanced-probing.patch]
+  * Drop the polypaudio plugin package. (Closes: #342278)
+    . Drop libpolyp-dev (>= 0.7) build-dep.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Remove package description and file listing.
+      [debian/gstreamer-polypaudio.install, debian/control.in, debian/control]
+    . Remove package from plugins build-list. [debian/rules]
+    . Remove package from gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * Add libgconf2-dev, libglib2.0-dev, liborbit2-dev, libpopt-dev, libxml2-dev
+    deps to libgstreamer-gconf0.8-dev as listed in its .la files.
+    [debian/control, debian/control.in]
+  * Add libglib2.0-dev, libpopt-dev, libxml2-dev deps to
+    libgstreamer-plugins0.8-dev as listed in its .la files.
+    [debian/control, debian/control.in]
+  * Fix EOS detection for last title (fixes gnome-cd hanging after last track
+    ends), thanks Gustavo Noronha Silva;  upstream bug #317630;  fix committed
+    in branch BRANCH-GSTREAMER-0_8. (Closes: #330954)
+    [debian/patches/50_cdparanoia-fix-eos-detection-of-last-title.patch]
+  * Don't overwrite DEB_CONFIGURE_EXTRA_FLAGS.
+    [debian/rules]
+
+ -- Loic Minier <lool@dooz.org>  Sun, 11 Dec 2005 14:52:38 +0100
+
+gst-plugins0.8 (0.8.11-2) unstable; urgency=high
+
+  * Add misc:depends to all binary packages. (Closes: #329759)
+
+ -- Loic Minier <lool@dooz.org>  Mon, 17 Oct 2005 21:41:54 +0200
+
+gst-plugins0.8 (0.8.11-1) unstable; urgency=low
+
+  * Override gstreamer-dv section to extra because it depends on libavc1394-0
+    which is in extra. [debian/control, debian/control.in]
+  * Bump libflac-dev build-dependency for the latest flac soname change
+    (libflac6 -> libflac7). (Closes: #325940)
+  * New upstream release, "... And Thanks For All The Fix".
+    - New plugin imagemixer. [debian/gstreamer-misc.install]
+    - New plugin dvdsubdec. [debian/gstreamer-misc.install]
+    - Drop obsolete artsd patch, merged upstream.
+      [debian/patches/25_artds-no-name.patch]
+  * Update FSF address. [debian/copyright]
+  * Add cairo plugin. [debian/build-deps, debian/build-deps.in,
+    debian/control, debian/gstreamer-misc.install]
+
+ -- Loic Minier <lool@dooz.org>  Sun,  4 Sep 2005 21:19:47 +0200
+
+gst-plugins0.8 (0.8.10-3) unstable; urgency=high
+
+  * Urgency high because this fixes some RC bugs and 0.8.10-2 was caught in
+    the C++ transition.
+  * Bump up build-deps to get versions past the C++ transition.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+    - libsdl1.2-dev
+    - libsidplay1-dev (Closes: #321315)
+    - libarts1-dev, libartsc0-dev
+  * Change X11 build-deps for the Xorg transition.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+    - remove xlibs-dev and xlibs-pic.
+    - add libx11-dev, libxext-dev, and libxv-dev.
+  * Drop jack plugin. [debian/build-deps, debian/build-deps.in,
+    debian/control, debian/control.in, debian/gstreamer-jack.install,
+    debian/rules] (Closes: #321648)
+  * Add libgstglimagesink plugin. [debian/gstreamer-x.install]
+  * Add libgstfreeze plugin. (Closes: #318146) [debian/gstreamer-misc.install]
+  * Let libgstreamer-gconf suggest gnome-media. (Closes: #294490)
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Fri, 12 Aug 2005 18:36:58 +0200
+
+gst-plugins0.8 (0.8.10-2) unstable; urgency=medium
+
+  [ Sebastien Bacher ]
+  * debian/build-deps.in:
+    - list libpolyp-dev.
+  * debian/control.in:
+    - gstreamer0.8-plugins depends on gstreamer0.8-polypaudio.
+    - gstreamer0.8-polypaudio description.
+  * gstreamer-polypaudio.install:
+    - install libpolypaudio.so.
+  * debian/rules:
+    - list polypaudio.
+
+  [ Loic Minier ]
+  * Update jack dependency. (Closes: #317197)
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Update aalib dependency. (Closes: #320886)
+    [debian/build-deps, debian/build-deps.in, debian/control]
+
+  * Urgency medium because of RC.
+
+ -- Loic Minier <lool@dooz.org>  Sun, 10 Jul 2005 19:27:08 +0200
+
+gst-plugins0.8 (0.8.10-1) unstable; urgency=low
+
+  * Loic Minier:
+    * New upstream release "Jangle".
+      - Bump inter-dependencies to >= 0.8.10.
+    * Use upstream fix for the "name" property of the artsdsink element.
+      [debian/patches/25_artds-no-name.patch]
+
+ -- Loic Minier <lool@dooz.org>  Sat,  2 Jul 2005 21:04:40 +0200
+
+gst-plugins0.8 (0.8.9-2) unstable; urgency=medium
+
+  * Loic Minier:
+    * Urgency medium as last gstreamer0.8 release exposed an artsdsink
+      problem fixed here.
+    * Add a versioned dependency with >= current-upstream-version to all
+      current shlibs inter-dependencies to ensure consistency of symbols.
+      (Closes: #315556) [debian/control, debian/control.in, debian/rules]
+    * Remove the "name" property in the artsd plugin as it interferes with
+      the usage of this property within GStreamer. (Closes: #314762)
+      [debian/patches/25_artds-no-name.patch]
+    * 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.
+      [debian/gstreamer-plugin-template.postinst,
+      debian/gstreamer-plugin-template.postrm]
+    * Add a postinst/postrm snipset to register plugins in
+      libgstreamer-plugins0.8. (Closes: #283658)
+      [debian/libgstreamer-plugins.postrm,
+      debian/libgstreamer-plugins.postinst, debian/changelog, debian/rules]
+    * Remove left over /root/.gstreamer-0.8 tree if it hasn't been modified.
+      [debian/gstreamer-plugin-template.preinst, 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]
+    * Workaround type-handling bug #315761.
+      [debian/control, debian/control.in, debian/rules]
+
+ -- Loic Minier <lool@dooz.org>  Mon, 27 Jun 2005 15:44:35 +0200
+
+gst-plugins0.8 (0.8.9-1) unstable; urgency=low
+
+  * Loic Minier:
+    * New upstream release "Old Hat".
+      - Fix SIGFPE in alsasrc. (Closes: #279399)
+      - New Musepack plugin package.
+        . Add libmpcdec-dev build-dep for Musepack support, this is now
+          detected in a Debian compatible manner via mpcdec/mpcdec.h and
+          -lmpcdec. [debian/build-deps.in, debian/build-deps, debian/control]
+        . Add package description and file listing.
+          [debian/gstreamer-musepack.install, debian/control.in,
+          debian/control]
+        . List package in plugins build-list. [debian/rules]
+        . List package in gstreamer-plugins deps.
+          [debian/control.in, debian/control]
+      - Renamed and updated "ladspa" patch.
+        [debian/patches/ladspa-quiet.patch,
+        debian/patches/50_ladspa-quiet.patch]
+      - Add video4linuxradio plugin to the gstreamer-misc package.
+        [debian/rules]
+    * Add compatibility block for older dpkg and use DEB_HOST_ARCH_OS.
+    * Add myself as uploader. [debian/control.in, debian/control]
+    * Fix indentation and executable permission of package maintaining
+      helpers. [debian/extra, debian/maint, debian/mk.control]
+    * Remove more bits from the arts plugin, left over in 0.8.1-2.
+      [debian/extra, debian/gstreamer-arts.install]
+    * Document the role of most files. [debian/HACKING.Debian]
+    * Add a TODO list for the Debian package. [debian/TODO.Debian]
+
+ -- Loic Minier <lool@dooz.org>  Tue, 21 Jun 2005 07:47:04 +0200
+
+gst-plugins0.8 (0.8.8-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Bump liboil dependency to liboil0.3-dev.  gst-plugins doesn't yet use
+      0.3 itself but the swfdec plugin build requires it.
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 30 Mar 2005 19:08:07 -0500
+
+gst-plugins0.8 (0.8.8-2) unstable; urgency=low
+
+  * debian/control.in:
+    * gstreamer0.8-vorbis depends on gstreamer0.8-misc >= 0.8.8-1
+      (Closes: #300082, #299954, #299921)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 17 Mar 2005 12:53:38 -0500
+
+gst-plugins0.8 (0.8.8-1) unstable; urgency=low
+
+  * New upstream
+  * debian/patches/flac.patch:
+    * Remove: included upstream
+  * debian/gstreamer-misc.install:
+    * Add new plugins: autodetect, dvdlpcmdec, puzzle, rfbsrc, subparse
+    * Add new plugins with lib dependencies: gconfelements, mng, shout2
+      (Closes: #292011)
+  * debian/build-deps.in:
+    * Add: libmng-dev, libshout3-dev
+  * Upstream fixes:
+    * Xv falls back to X11 (Closes: #296848)
+    * Better audio sink selection (Closes: #284210)
+    * alsasink crash (Closes: #296751)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 16 Mar 2005 01:00:39 -0500
+
+gst-plugins0.8 (0.8.7-3) unstable; urgency=low
+
+  * debian/rules, debian/build-deps.in
+    * Apply additional kfreebsd-gnu patch (Closes: #272568)
+  * debian/patches/flac.patch:
+    * Upstream fix for FLAC API change (Closes: #290784)
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 17 Jan 2005 17:53:42 -0500
+
+gst-plugins0.8 (0.8.7-2) unstable; urgency=low
+
+  * debian/rules:
+    * Bump libgstreamer0.8-dev dependency to >= 0.8.7.1
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  8 Jan 2005 15:50:45 -0500
+
+gst-plugins0.8 (0.8.7-1) unstable; urgency=low
+
+  * New upstream
+  * debian/build-deps.in, debian/control.in, debian/rules,
+    debian/gstreamer-dv.install, debian/gstreamer-misc.install:
+    * Patch build system for kfreebsd-gnu (Closes: #272568)
+  * debian/rules:
+    * Distribute NEWS (as requested in #275717)
+  * debian/gstreamer-misc.install:
+    * Add new plugins: apetag, tta
+  * debian/patches/configure-speex.patch:
+    * Remove patch, included upstream
+  * debian/build-deps.in:
+    * Build against latest libflac-dev
+
+ -- David I. Lehn <dlehn@debian.org>  Fri,  7 Jan 2005 13:52:27 -0500
+
+gst-plugins0.8 (0.8.6-1) unstable; urgency=low
+
+  * New upstream
+    * Rhythmbox hangs/crashes fixes (Closes: #245757, #277146)
+    * Rhythmbox silence after resume play fixes (Closes: #261841)
+    * Ogg seeking fixes (Closes: #277396)
+  * debian/build-deps.in:
+    * Bump libswfdec to libswfdec0.3-dev
+    * Add libavc1394-dev
+    * Add liboil0.2-dev
+    * Versioned libspeex-dev
+  * debian/gstreamer-misc.install:
+    * Add new plugin: equalizer
+  * debian/watch:
+    * Add watch file
+  * debian/rules:
+    * Update GStreamer core dev dependency to 0.8.4
+  * ext/ladspa/gstladspa.c, debian/patches/ladspa-quiet.patch:
+    * Move patch to debian/patches/
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 29 Nov 2004 04:02:43 -0500
+
+gst-plugins0.8 (0.8.5-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Use CDBS simple-patchsys
+    * debian/control: to debian/control:: for newer CDBS
+  * debian/patches/configure-speex.diff:
+    * Fix speex detection
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  6 Oct 2004 20:15:52 -0400
+
+gst-plugins0.8 (0.8.4-1) unstable; urgency=low
+
+  * New upstream
+  * debian/control.in:
+    * Add -theora package to -plugins package
+  * debian/rules:
+    * Drop upstream ChangeLog from plugin packages due to size
+  * debian/README.Debian:
+    * Add note about ChangeLog
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  2 Sep 2004 23:03:44 -0400
+
+gst-plugins0.8 (0.8.3-1) unstable; urgency=low
+
+  * New upstream
+  * debian/control.in, debian/build-deps.in, debian/gstreamer-theora.install,
+    debian/rules:
+    * New theora plugin
+  * debian/gstreamer-misc.install:
+    * Add new plugins: alphacolor, decodebin, multifilesink, playbin
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  7 Aug 2004 09:50:10 -0400
+
+gst-plugins0.8 (0.8.2-3) unstable; urgency=high
+
+  * debian/libgstreamer-gconf.postinst:
+    Remove.  schema install now handled by dh_gconf which moved the schema
+    location causing old hardcoded /etc path to fail.
+    (Closes: #259538, #259119, #259205)
+  * Urgency high: GNOME team wants this in sarge now.
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 16 Jul 2004 09:17:18 -0400
+
+gst-plugins0.8 (0.8.2-2) unstable; urgency=low
+
+  * debian/rules:
+    * Bump libgstreamer0.8-dev dep up to get fixed shlibs
+  * Rebuild with proper shlibs (Closes: #256181, #256494)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  7 Jul 2004 01:16:48 -0400
+
+gst-plugins0.8 (0.8.2-1) unstable; urgency=medium
+
+  * New upstream
+  * debian/build-deps.in:
+    * Add libdts-dev
+  * ext/Makefile.{am,in}:
+    * Fix so dts dir is built
+  * debian/gstreamer-misc.install:
+    * Add DTS plugin
+    * Added alpha, audiorate, dtsdec, multipart, videobox, videomixer, and
+      videorate
+  * debian/rules:
+    * Update libgstreamer0.8-dev build dependency to 0.8.3-2
+  * debian/control.in:
+    * Remove explicit libgstreamer deps, autodetected now
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 23 Jun 2004 23:50:53 -0400
+
+gst-plugins0.8 (0.8.1-4) unstable; urgency=low
+
+  * gst-libs/gst/riff/riff-media.c:
+    * caps type typo fix from CVS
+  * gst-libs/gst/resample/private.h:
+    * disabled ppc code fix from CVS (Closes: #252991)
+  * sys/v4l/gstv4lsrc.c:
+    * caps fix NULL->any from CVS
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 16 Jun 2004 01:24:41 -0400
+
+gst-plugins0.8 (0.8.1-3) unstable; urgency=low
+
+  * rerun autoget.sh to fix arm builds (Closes: #251592)
+  * gconf/gstreamer.schemas.in, gcon/gstreamer-0.8.schemas:
+    s/xvideosink/xvimagesink/ (Closes: #250575) 
+
+ -- David I. Lehn <dlehn@debian.org>  Tue,  1 Jun 2004 10:10:37 -0400
+
+gst-plugins0.8 (0.8.1-2) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Update "libdv2-dev" to "libdv4-dev | libdv-dev"
+  * debian/control.in, debian/extra, debian/rules:
+    * Remove arts plugin.  Detection, flags, and include directory build code
+      is too buggy for plugin to build at the moment.
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 29 Apr 2004 18:10:48 -0400
+
+gst-plugins0.8 (0.8.1-1) unstable; urgency=low
+
+  * New upstream
+  * debian/gstreamer-misc.install:
+    * add libgstdebug.so
+
+ -- David I. Lehn <dlehn@debian.org>  Sun, 18 Apr 2004 01:04:36 -0400
+
+gst-plugins0.8 (0.8.0-2) unstable; urgency=low
+
+  * Bump to -2 to ease upgrades for early -1 testers
+  * debian/build-deps.in:
+    * Add libgtk2.0-dev 
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 15 Apr 2004 17:50:14 -0400
+
+gst-plugins0.8 (0.8.0-1) unstable; urgency=low
+
+  * New upstream (Closes: #234071, #240663)
+  * debian/rules:
+    * Switch to CDBS
+    * Version now at 0.8
+    * Convert various control files to versioned ones for build
+    * Add/rename/remove generated plugins files
+  * debian/control.in:
+    * Update Standards-Version to 3.6.1
+    * Add -caca and -speex plugins
+    * Remove -http plugin
+  * debian/build-deps.in:
+    * Add cdbs
+    * Update debhelper >= 4.1.0
+    * Add caca, speex, and pango deps
+    * Remove libghttp-dev
+  * debian/gstreamer-http.install
+    * Remove
+  * debian/gstreamer-{speex|caca}.install:
+    * Add new plugins
+  * debian/*.install:
+    * Append debian/tmp for CDBS
+    * General cleanups to support versioned files and locations
+  * debian/gstreamer-esd.install:
+    * Remove libgstesdmod
+    * Change libgstesdsink to libgstesd
+  * debian/gstreamer-plugin-libs.install:
+    * Stick locale info in here for lack of a better place
+  * debian/gstreamer-plugin-libs[-dev].install:
+    * Add support for colorbalance, mixer, navigation, propertyprobe, tag,
+      tuner, xoverlay, and xwindowlistener
+    * Add pkgconfig support for plugins, interfaces, and media-info
+  * debian/gstreamer-gnomevfs.install:
+    * s/libgstgnomevfs{src|sink}.so/libgstgnomevfs.so/
+  * debian/gstreamer-colorspace.install:
+    * Rename to gstreamer-hermes.install
+    * Move generic and ffmpeg based colorspace plugins to -misc
+    * Provide gstreamerX.Y-colorspace
+  * debian/gstreamer-misc.install:
+    * v4l/v4l2 support merged to libgstvideo4linux[2].so
+    * Add gdkpixbuf, interleave, nassink, ogg, smoothwave, tagedit,
+      textoverlay, timeoverlay, typefindfunctions, videobalance, videodrop,
+      videofilter, videoflip
+    * Move generic and ffmpeg based colorspace plugins from -hermes
+    * Provide gstreamerX.Y-colorspace
+  * debian/gstreamer-plugin-libs.install:
+    * Rename to libgstreamer-plugins.install
+  * debian/gstreamer-plugin-libs-dev.install:
+    * Rename to libgstreamer-plugins-dev.install
+  * debian/gstreamer-gconf.install:
+    * Rename libgstreamer-gconf.install
+    * Remove dev files
+  * debian/gstreamer-gconf.postinst:
+    * Rename to libgstreamer-gconf.postinst
+  * debian/libgstreamer-gconf-dev.install:
+    * Added
+    * Add dev parts from gstreamer-gconf.install
+  * configure.ac, configure:
+    * Patch from CVS to get arts to detect on Debian boxen
+  * ext/speex/gstspeex{dec,enc}.c:
+    * Upstream patch for static pad templates (caused gst-compprep-0.8 bugs)
+  * ext/ladspa/gstladspa.c:
+    * Change g_warning to DEBUG_OBJ to silence gst-compprep
+  * ext/libcaca/gstcacsink.c:
+    * Upstream patch to avoid cacasink windows with gst-inspect/compprep
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 14 Apr 2004 19:14:14 -0400
+
+gst-plugins0.7 (0.7.6-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 19:06:48 -0500
+
+gst-plugins0.7 (0.7.5-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:47:19 -0500
+
+gst-plugins0.7 (0.7.4-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:46:27 -0500
+
+gst-plugins0.7 (0.7.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:42:05 -0500
+
+gst-plugins0.7 (0.7.1-1) unstable; urgency=low
+
+  * New upstream
+    * Versioning package as 0.7
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:31:51 -0500
+
+gst-plugins (0.6.4-4) unstable; urgency=low
+
+  * ext/alsa/gstalsa.h:
+    * Patch to compile with alsa-lib 1.0.x (Closes: #231870)
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 14 Feb 2004 17:49:01 -0500
+
+gst-plugins (0.6.4-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Update jack dependency to libjack0.80.0-dev (>= 0.94.0)
+      (Closes: #221620, #228784)
+    * Update libmpeg2 dependency to libmpeg2-4-dev (>= 0.4.0b)
+  * ext/mpeg2dec/gstmpeg2dec.c: Patch for libmpeg2 0.4.0b
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 26 Jan 2004 18:21:45 -0500
+
+gst-plugins (0.6.4-2) unstable; urgency=low
+
+  * debian/rules: Disable ffmpeg for everything but i386 due to PIC issues
+    (Closes: #219284)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  6 Nov 2003 16:30:35 -0500
+
+gst-plugins (0.6.4-1) unstable; urgency=low
+
+  * New upstream
+    * ESD updates (Closes: #218736)
+  * Acknowledge NMU (Closes: #217981, #213811)
+  * Rebuild to fix gconf liblinc1 dependency (Closes: #217771)
+  * gstreamer-misc: add v4l2 support (Closes: #199900)
+  * Use pre-Linux-2.6 videodev.h to compile v4l support
+
+ -- David I. Lehn <dlehn@debian.org>  Mon,  3 Nov 2003 15:10:59 -0500
+
+gst-plugins (0.6.3-1.1) unstable; urgency=low
+
+  * NMU - Patch from Jordi Mallach
+  * debian/build-deps.in: libgconf2-dev and libgnomevfs2-dev need GNOME 2.4
+    versions for the liblinc1 transition (closes: #217981).
+  * debian/rules: gstreamer build-dep should be versioned (>= 0.6.3)
+    (closes: #213811).
+
+ -- LaMont Jones <lamont@debian.org>  Thu, 30 Oct 2003 09:12:11 -0700
+
+gst-plugins (0.6.3-1) unstable; urgency=low
+
+  * New upstream
+    * Includes ESD seeking fix (Closes: #201171)
+
+ -- David I. Lehn <dlehn@debian.org>  Mon,  1 Sep 2003 23:15:49 -0400
+
+gst-plugins (0.6.2-2) unstable; urgency=low
+
+  * Fix ffmpeg makefile install rule to work even when ffmpeg build is
+    disabled (Closes: #198148, #199072)
+  * Apply partial patches from running autogen.sh to fix arm builds (excluding
+    other unrelated generated file changes) (Closes: #199872)
+  * Update to support libdvdnav 0.1.9 API
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 11 Jul 2003 01:01:15 -0400
+
+gst-plugins (0.6.2-1) unstable; urgency=low
+
+  * New upstream
+  * Add dv1394src to gstreamer-dv
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 12 Jun 2003 11:39:51 -0400
+
+gst-plugins (0.6.1-2) unstable; urgency=low
+
+  * (unreleased)
+  * Adapt to gstreamer package merge: remove -core, -core-libs, -core-libs-dev
+    dependencies as needed.  Fixes missing scheduler bugs.
+    (Closes: #181503, #191720)
+  * Use versioned gst-{register,compprep}-0.6
+  * Update jack dependency to libjack0.71.2-dev (Closes: #195401)
+  * Update libdvdnav dependency to (>= 0.1.7) and revert patch for
+    compatibility with 0.1.3.
+  * Update libdvdread2 dependency to libdvdread3-dev
+  * Remove DISPLAY unset hacks from postinst/postrm scripts and fix non-X
+    installs with 0.6.2 CVS xvideosink patch. (Closes: #165372, #168438)
+  * Link libgstplay to libgstcontrol. (Closes: #194107)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  5 Jun 2003 02:29:44 -0400
+
+gst-plugins (0.6.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update maintainer address to @debian.org
+  * gstreamer-gconf libs properly linked upstream (Closes: Bug#187353)
+  * debian/control.in:
+    * gstreamer-vorbis depends on gstreamer-core-libs (Closes: Bug#188606)
+  * Apply gnomevfs patch from http://bugzilla.gnome.org/show_bug.cgi?id=94113
+  * ffmpeg plugin only builds, and now is only packaged, on i386/powerpc (Yes
+    this is bad - better shared lib support needed.) (Closes: Bug#186525)
+  * Revert dvdnav support to libdvdnav 0.1.3 API
+  * Unset DISPLAY before calling gst-register/gst-compprep
+  * ext/ladspa/gstladspa.c:472: s/g_warning/GST_DEBUG/ to avoid printing of a
+    warning on every plugin package install when swh-plugins is installed.
+    (sinCos plugin executes this code path)
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  3 May 2003 18:30:16 -0400
+
+gst-plugins (0.6.0-4) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Updated libvorbis-dev to (>= 1.0.0-2) (Closes: Bug#184671)
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 14 Mar 2003 11:12:21 -0500
+
+gst-plugins (0.6.0-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Add libartsc0-dev so artsc-config is present so arts[d] plugins get
+      built so the arts[d] packages actually include the arts[d] plugins
+      (Closes: Bug#181438)
+    * Update JACK dependency to 0.50.0
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  7 Mar 2003 23:51:46 -0500
+
+gst-plugins (0.6.0-2) unstable; urgency=low
+
+  * NMU (with maintainer's permission)
+  * Change libarts-dev build-dep to libarts1-dev (Closes: #180537)
+
+ -- David Schleef <ds@schleef.org>  Mon, 10 Feb 2003 21:33:47 -0800
+
+gst-plugins (0.6.0-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat,  1 Feb 2003 21:51:54 -0500
+
+gst-plugins (0.5.2.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 30 Jan 2003 23:52:08 -0500
+
+gst-plugins (0.5.2.2-1) unstable; urgency=low
+
+  * New upstream
+    * pre-release for 0.6.0
+  * debian/gstreamer-gconf.install:
+    * add gstreamer-gconf-*.pc
+  * debian/gstreamer-misc.install:
+    * remove libgstaviparse.so
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 29 Jan 2003 15:07:06 -0500
+
+gst-plugins (0.5.2-1) unstable; urgency=low
+
+  * New upstream
+  * debian/build-deps.in:
+    - Update swfdec dependency to 0.2.0
+  * debian/gstreamer-misc.install:
+    - add libgstaviparse.so
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 23 Jan 2003 22:17:31 -0500
+
+gst-plugins (0.5.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update GStreamer dependency to 0.5.1
+  * Update JACK dependency to 0.44.0
+  * Remove gstreamer-avifile package (avifile not supported on many
+    architectures and upstream is deprecating it in favor of ffmpeg)
+  * Add support for building unsupported plugin packages (avifile, lame, etc)
+  * Tighten shlib deps for gstreamer-plugin-libs and gstreamer-gconf packages
+    (may split off true lib* packages eventually, was trying to avoid even
+    more packages)
+  * gstreamer-misc: add oneton and vbidec
+  * Rebuild for newer sid libs (Closes: Bug#177410)
+  * Various small fixes from CVS
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 20 Jan 2003 11:57:26 -0500
+
+gst-plugins (0.5.0-1) unstable; urgency=low
+
+  * New upstream
+  * Update libpng dependency to libpng12-0-dev
+  * Patch from CVS to support mpeg2dec 0.3.1
+  * Patch from CVS to improve X error handling and remote X usage
+  * gstreamer-plugin-libs[-dev]: add media-info lib
+  * gstreamer-misc: add png plugin
+  * Use swfdec 0.1.3 API: s/swf_init/swfdec_decoder_new/ to avoid symbol
+    conflicts with avifile plugin
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 17 Dec 2002 20:27:42 -0500
+
+gst-plugins (0.4.2-2) unstable; urgency=low
+
+  * Update JACK dependency to 0.40.1
+  * Apply gst-launch-ext perlism patch (Closes: #170736)
+  * Apply patch from Erik Meusel <meusel@codixx.de> to allow building with
+    other KDE arts packages (Closes: Bug#167538)
+  * Update mpeg2dec dependency to 0.3.0, convert over to gstmpeg2deccvs plugin
+    code, and adjust mpeg2dec check
+  * Add Provides: for virtual gstreamer-{audio,video}sink packages to make it
+    easier for applications to ensure output sinks are available.  This isn't
+    foolproof and it's possible that a rare user might not need the standard
+    packaged audio/video sinks.  For now those users can use the "equivs"
+    package to get around the problem. (Closes: Bug#169968)
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  4 Dec 2002 02:25:41 -0500
+
+gst-plugins (0.4.2-1.1) unstable; urgency=low
+
+  * NMU
+  * Depend on swfdec-0.1.2-3, since it had a bug.
+
+ -- David Schleef <ds@schleef.org>  Tue, 12 Nov 2002 17:43:48 -0800
+
+gst-plugins (0.4.2-1) unstable; urgency=low
+
+  * New upstream
+  * Add libpng2-dev to Build-Depends for snapshot
+  * Add smpte, snapshot, and wavenc to gstreamer-misc
+  * Add video and play libs to gstreamer-plugin-libs{-dev}
+  * Add gstreamer-swfdec plugin package
+  * Add hack to swfdec plugin to not segfault when avifile also loaded due to
+    symbols conflicts.  This annoyance will spew errors during gst-compprep
+    and probably will cause errors in apps that use both swfdec and avifile.
+  * Tighten dependency on libgstreamer until upstream code can deal with
+    multiple plugin versions and upgrades better
+  * Move gstreamer-plugin-apps to Section: utils from x11
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Nov 2002 21:41:01 -0500
+
+gst-plugins (0.4.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update FLAC dependency to 1.0.4 and add support patch from CVS
+  * Rebuild for libflac4 (Closes: Bug#163549)
+  * Build gconf code as a library rather than a plugin
+  * Improved plugin descriptions
+  * Added to -misc: cdplayer, videocrop, videotestsrc, mixmatrix
+  * Add autotools-dev to Build-Depends
+  * Update config.{guess,sub}
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon,  7 Oct 2002 17:51:43 -0400
+
+gst-plugins (0.4.0.2-cvs20020919-1) unstable; urgency=low
+
+  * CVS snapshot, release branch
+  * gstreamer-gconf.files: libgstgconf.so moved to /usr/lib
+  * added control.in, build-deps, and mk.control script.  Edit control.in
+    and/or build-deps, and run 'debian/rules debian/control' from toplevel
+    directory to recreate debian/control.  This should make it a lot
+    easier to diff build dependencies.
+
+ -- David Schleef <ds@schleef.org>  Thu, 19 Sep 2002 15:18:41 -0700
+
+gst-plugins (0.4.0-5) unstable; urgency=low
+
+  * Update Build-Depends
+  * Use pkg-config checking vs m4 macros for libdv
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 23 Aug 2002 10:33:29 -0400
+
+gst-plugins (0.4.0-4) unstable; urgency=low
+
+  * Fixes from CVS for gstgnomevfssrc.c and endian issue in vorbisfile.c
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  2 Aug 2002 20:51:38 -0400
+
+gst-plugins (0.4.0-3) unstable; urgency=low
+
+  * Add ladspa-sdk to Build-Depends
+  * Removed qcam plugin from -misc.
+    It's i386 only and probably not widely used.  Will figure out how to
+    package in the future if someone needs it.
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 29 Jul 2002 16:32:33 -0400
+
+gst-plugins (0.4.0-2) unstable; urgency=low
+
+  * Clean up the Build-Depends:
+    - stricter versioning
+    - remove gnome deps (used for examples which are not build now)
+  * Fix segfault in vorbis.m4 check
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 29 Jul 2002 10:47:12 -0400
+
+gst-plugins (0.4.0-1) unstable; urgency=low
+
+  * New upstream
+  * FLAC compile fixes from CVS
+  * DV comiled fixes
+  * Upated ltmain hack
+  * autogen.sh with more recent tools
+  * Update config.{guess,sub}
+  * Added plugin packages: -gconf, -http, -jack, -dv
+  * Added dvdnav plugin to -dvd
+  * Removed osshelper plugin from -oss
+  * Added xvideosink back to -x
+  * Added effectv, filter, and qtdemux plugins to -misc
+  * Rename gstreamer-lib-misc{-dev} to gstreamer-plugin-libs{-dev} to match
+    gstreamer core.
+  * Added gstreamer-plugin-apps package for a lonely 2 scripts
+  * Renamed gstreamer-all to gstreamer-plugins
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 16 Jul 2002 02:10:07 -0400
+
+gst-plugins (0.3.4-2) unstable; urgency=low
+
+  * Rebuild for new avifile
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 24 Apr 2002 14:06:46 -0400
+
+gst-plugins (0.3.4-1) unstable; urgency=low
+
+  * New upstream
+  * Fix mpeg2dec.m4 to use newer mpeg2dec libs
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 15 Apr 2002 03:34:21 -0400
+
+gst-plugins (0.3.3-2) unstable; urgency=low
+
+  * Port a52dec plugin to 0.7.3 API (applied upstream)
+  * Use a52dec packages in Debian vs current external ones
+    * This switches a52dec plugin to static linking
+  * Remove LAME support
+    * No LAME packages in Debian to depend on
+    * Added explanation in README.Debian since this will likely
+      cause no end of "Why is there no LAME plugin?"
+  * Depend on and rebuild for mpeg2dec 0.2.1
+  * Depend on and rebuild for glib 2.0
+  * Remove gtk from Build-Depends: (not needed for the built plugins)
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat, 23 Mar 2002 17:52:03 -0500
+
+gst-plugins (0.3.3-1) unstable; urgency=low
+
+  * New upstream version
+  * SDL fixed upstream, remove patch
+  * Require libid3tag for mad support
+  * Remove xvideosink from gstreamer-x package in favor of videosink
+    Needed to be removed due to symbol conflicts with videosink
+  * Sync with upstream changes:
+    * Added videosink to gstreamer-x package
+    * parseau renamed to auparse in -misc
+    * Added various plugins to -misc: goom, monoscope, modplug, ...
+  * Note: new upstream scripts gst-launch-ext and gst-visualise not
+    packaged yet
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 21 Mar 2002 02:06:21 -0500
+
+gst-plugins (0.3.2-3) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.15
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 25 Feb 2002 00:06:51 -0500
+
+gst-plugins (0.3.2-2) unstable; urgency=low
+
+  * Build against liblinc1 and newer gnomevfs
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun, 17 Feb 2002 15:52:57 -0500
+
+gst-plugins (0.3.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Many diffs merged upstream
+  * Unversioned plugins upstream, just packaging .so (no .la, .a)
+  * Added cdxa plugin to -misc
+  * Various plugins in -misc moved around and merged upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Feb 2002 21:54:27 -0500
+
+gst-plugins (0.3.1-4) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.13
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Feb 2002 02:16:16 -0500
+
+gst-plugins (0.3.1-3) unstable; urgency=low
+
+  * Fix arts symbol problem (add -lartsflow -lartsflow_idl)
+  * Replace m4/gst-sdl.m4 with Debian's sdl.m4
+  * Use SDL_LIBS_FOR_PLUGINS instead of SDL_LIBS
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 23 Jan 2002 12:37:00 -0500
+
+gst-plugins (0.3.1-2) unstable; urgency=low
+
+  * Rebuild against fixed gstreamer.pc in libgst-dev 0.3.1-2
+    Should just link to libxml2 now rather than v1 and v2
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 23 Jan 2002 02:29:49 -0500
+
+gst-plugins (0.3.1-1) unstable; urgency=low
+
+  * Upstream split plugins into new package
+  * Upstream removed mpg123 plugin - use mad plugin
+  * Upstream removed ac3dec plugin - use a52dec
+  * Added -lib-misc and -lib-misc-dev packages for
+    library plugins and headers
+  * Patch to link all plugins to GST_LIBS
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 11 Jan 2002 11:22:01 -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..41425f3
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,104 @@
+Source: gst-plugins-ugly1.0
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loic Minier <lool@dooz.org>,
+           Sebastian Dröge <slomo@debian.org>
+Build-Depends: autoconf (>= 2.69),
+               automake (>= 1.14),
+               autopoint (>= 0.17),
+               autotools-dev,
+               cdbs (>= 0.4.93),
+               debhelper (>= 9),
+               dh-autoreconf,
+               dpkg-dev (>= 1.15.1),
+               libgstreamer1.0-dev (>= 1.14.0),
+               gstreamer1.0-doc,
+               gstreamer1.0-plugins-base (>= 1.14.0),
+               gstreamer1.0-plugins-base-doc,
+               gtk-doc-tools (>= 1.12),
+               liba52-0.7.4-dev,
+               libcdio-dev (>= 0.76),
+               libdvdread-dev (>= 0.9.0),
+               libglib2.0-dev (>= 2.40),
+               libgstreamer-plugins-base1.0-dev (>= 1.14.0),
+               libmpeg2-4-dev (>= 0.5.1),
+               libopencore-amrnb-dev (>= 0.1.3),
+               libopencore-amrwb-dev (>= 0.1.3),
+               liborc-0.4-dev (>= 1:0.4.17),
+               libsidplay1-dev,
+               libtool (>= 2.2.6),
+               libx264-dev (>= 2:0.120),
+               pkg-config (>= 0.11.0)
+Standards-Version: 3.9.3
+Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-ugly1.0.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-ugly1.0.git;a=summary
+Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
+
+Package: gstreamer1.0-plugins-ugly-doc
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${misc:Depends},
+         gstreamer1.0-doc,
+         gstreamer1.0-plugins-base-doc
+Description: GStreamer documentation for plugins from the "ugly" set
+ 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 plugins from the "ugly" set,
+ a set of good-quality plug-ins that might pose distribution problems.
+
+Package: gstreamer1.0-plugins-ugly
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2),
+          gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Breaks: gstreamer1.0-plugins-bad (<< 1.7.2)
+XB-GStreamer-Version: ${gstreamer:Version}
+XB-GStreamer-Elements: ${gstreamer:Elements}
+XB-GStreamer-URI-Sources: ${gstreamer:URISources}
+XB-GStreamer-URI-Sinks: ${gstreamer:URISinks}
+XB-GStreamer-Encoders: ${gstreamer:Encoders}
+XB-GStreamer-Decoders: ${gstreamer:Decoders}
+Provides: ${gstreamer:Provides},
+          gstreamer1.0-plugins-ugly-amr
+Description: GStreamer plugins from the "ugly" set
+ 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 plugins from the "ugly" set, a set of
+ good-quality plug-ins that might pose distribution problems.
+
+Package: gstreamer1.0-plugins-ugly-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: gstreamer1.0-plugins-ugly (= ${binary:Version}),
+         ${misc:Depends}
+Replaces: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Description: GStreamer plugins from the "ugly" set (debug symbols)
+ 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.
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..e7c5107
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,79 @@
+Source: gst-plugins-ugly@GST_ABI@
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loic Minier <lool@dooz.org>,
+           Sebastian Dröge <slomo@debian.org>
+Build-Depends: BUILDDEPS
+Standards-Version: 3.9.3
+Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-ugly@GST_ABI@.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-ugly@GST_ABI@.git;a=summary
+Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
+
+Package: @GST_PKGNAME@-plugins-ugly-doc
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: ${misc:Depends},
+         gstreamer@GST_ABI@-doc,
+         gstreamer@GST_ABI@-plugins-base-doc
+Description: GStreamer documentation for plugins from the "ugly" set
+ 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 plugins from the "ugly" set,
+ a set of good-quality plug-ins that might pose distribution problems.
+
+Package: @GST_PKGNAME@-plugins-ugly
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2),
+          gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Breaks: gstreamer1.0-plugins-bad (<< 1.7.2)
+XB-GStreamer-Version: ${gstreamer:Version}
+XB-GStreamer-Elements: ${gstreamer:Elements}
+XB-GStreamer-URI-Sources: ${gstreamer:URISources}
+XB-GStreamer-URI-Sinks: ${gstreamer:URISinks}
+XB-GStreamer-Encoders: ${gstreamer:Encoders}
+XB-GStreamer-Decoders: ${gstreamer:Decoders}
+Provides: ${gstreamer:Provides},
+          gstreamer1.0-plugins-ugly-amr
+Description: GStreamer plugins from the "ugly" set
+ 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 plugins from the "ugly" set, a set of
+ good-quality plug-ins that might pose distribution problems.
+
+Package: @GST_PKGNAME@-plugins-ugly-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: @GST_PKGNAME@-plugins-ugly (= ${binary:Version}),
+         ${misc:Depends}
+Replaces: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Description: GStreamer plugins from the "ugly" set (debug symbols)
+ 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.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..40f9d72
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,271 @@
+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 Ugly Plugins 1.0
+Upstream-Contact: gstreamer-devel@lists.freedesktop.org
+Source: http://gstreamer.freedesktop.org
+
+Files: ext/cdio/gstcdiocddasrc.c
+ ext/cdio/gstcdiocddasrc.h
+ gst/asfdemux/asfpacket.c
+ gst/asfdemux/asfpacket.h
+ gst/asfdemux/gstrtpasfdepay.c
+ gst/asfdemux/gstrtpasfdepay.h
+ gst/realmedia/rademux.c
+ gst/realmedia/rademux.h
+ gst/realmedia/rmutils.c
+ gst/realmedia/rmutils.h
+Copyright: 2006, Tim-Philipp Müller <tim centricular net>
+  2007, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: ext/mad/gstmad.c
+ ext/mpeg2dec/gstmpeg2dec.c
+ ext/mpeg2dec/gstmpeg2dec.h
+ ext/sidplay/gstsiddec.h
+ gst/asfdemux/asfheaders.c
+ gst/asfdemux/asfheaders.h
+ gst/asfdemux/gstasf.c
+ gst/asfdemux/gstasfdemux.h
+ gst/realmedia/rmdemux.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+License: LGPL-2+
+
+Files: gst/asfdemux/gstrtspwms.c
+ gst/asfdemux/gstrtspwms.h
+ gst/realmedia/realhash.c
+ gst/realmedia/realhash.h
+ gst/realmedia/rtspreal.c
+ gst/realmedia/rtspreal.h
+Copyright: <2005-2006> Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: ext/amrnb/amrnb.c
+ ext/amrnb/amrnbdec.c
+ ext/amrnb/amrnbdec.h
+ ext/amrnb/amrnbenc.c
+ ext/amrnb/amrnbenc.h
+ ext/amrwbdec/amrwbdec.c
+Copyright: 2004, Ronald Bultje <rbultje@ronald.bitfreak.net>
+License: LGPL-2+
+
+Files: gst/realmedia/asmrules.c
+ gst/realmedia/asmrules.h
+ gst/realmedia/rdtjitterbuffer.c
+ gst/realmedia/rdtjitterbuffer.h
+Copyright: <2007> Wim Taymans <wim.taymans@gmail.com>
+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/realmedia/pnmsrc.c
+ gst/realmedia/pnmsrc.h
+ gst/realmedia/realmedia.c
+Copyright: <2009> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: ext/cdio/gstcdio.c
+ ext/cdio/gstcdio.h
+ gst/asfdemux/gstasfdemux.c
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2006, Tim-Philipp Müller <tim centricular net>
+  2006-2009, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/synaesthesia/gstsynaesthesia.c
+ gst/synaesthesia/gstsynaesthesia.h
+Copyright: <2001> Richard Boulton <richard@tartarus.org>
+License: GPL-2+
+
+Files: gst/synaesthesia/synaescope.c
+ gst/synaesthesia/synaescope.h
+Copyright: 1999,2002, Richard Boulton <richard@tartarus.org>
+License: GPL-2+
+
+Files: gst/dvdlpcmdec/gstdvdlpcmdec.c
+ gst/dvdlpcmdec/gstdvdlpcmdec.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2005> Jan Schmidt <jan@noraisin.net>
+License: LGPL-2+
+
+Files: ext/a52dec/gsta52dec.c
+ ext/a52dec/gsta52dec.h
+Copyright: <2001> David I. Lehn <dlehn@users.sourceforge.net>
+License: LGPL-2+
+
+Files: gst/dvdsub/gstdvdsubdec.c
+ gst/dvdsub/gstdvdsubdec.h
+Copyright: <2002> Wim Taymans <wim@fluendo.com>
+  <2005> Jan Schmidt <jan@fluendo.com>
+License: LGPL-2+
+
+Files: gst/realmedia/rdtdepay.c
+ gst/realmedia/rdtdepay.h
+Copyright: <2006> Lutz Mueller <lutz at topfrose dot de>
+License: LGPL-2+
+
+Files: gst/realmedia/gstrdtbuffer.c
+ gst/realmedia/gstrdtbuffer.h
+Copyright: <2008> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: gst/xingmux/gstxingmux.c
+ gst/xingmux/gstxingmux.h
+Copyright: 2006, Christophe Fergeau <teuf@gnome.org>
+  2008, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: ext/amrwbdec/amrwb.c
+ ext/amrwbdec/amrwbdec.h
+Copyright: 2006, Edgard Lima <edgard.lima@indt.org.br>
+License: LGPL-2+
+
+Files: gst/dvdsub/gstdvdsubparse.c
+ gst/dvdsub/gstdvdsubparse.h
+Copyright: 2007, Mark Nauwelaerts <mnauw@users.sourceforge.net>
+License: LGPL-2+
+
+Files: tests/check/elements/amrnbenc.c
+ tests/check/pipelines/lame.c
+Copyright: 2006, Thomas Vander Stichele <thomas at apestaart dot org>
+  2007, Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: gst/realmedia/rdtmanager.c
+ gst/realmedia/rdtmanager.h
+Copyright: <2005-2006> Wim Taymans <wim@fluendo.com>
+License: MIT/X11 (BSD like) LGPL-2+
+
+Files: ltmain.sh
+Copyright: 1996-2001, 2003-2006
+License: GPL-2+
+
+Files: ext/dvdread/dvdreadsrc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2001> Billy Biggs <vektor@dumbterm.net>
+  <2006> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/realmedia/rmdemux.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2003> David A. Schleef <ds@schleef.org>
+  <2004> Stephane Loeuillet <gstreamer@leroutier.net>
+  <2005> Michael Smith <fluendo.com>
+  <2005> Owen Fraser-Green <owen@discobabe.net>
+  <2006> Tim-Philipp Müller <tim centricular net>
+  <2006> Wim Taymans <wim@fluendo.com>
+  <2007> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: ext/twolame/gsttwolamemp2enc.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2004> Wim Taymans <wim@fluendo.com>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/lame/gstlamemp3enc.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2004> Wim Taymans <wim@fluendo.com>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/sidplay/gstsiddec.cc
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2006> Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: ext/twolame/gsttwolamemp2enc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/lame/gstlamemp3enc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: tests/check/generic/states.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: gst/xingmux/plugin.c
+Copyright: <2008> Jan Schmidt <jan.schmidt@sun.com>
+License: LGPL-2+
+
+Files: tests/check/elements/x264enc.c
+Copyright: <2008> Mark Nauwelaerts <mnauw@users.sf.net>
+License: LGPL-2+
+
+Files: ext/lame/plugin.c
+Copyright: <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/mad/gstmad.h
+Copyright: 2003, Benjamin Otte <in7y118@public.uni-hamburg.de>
+License: LGPL-2+
+
+Files: ext/dvdread/dvdreadsrc.c
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2001, Billy Biggs <vektor@dumbterm.net>
+  2006, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst-libs/gst/glib-compat-private.h
+Copyright: 2005, David Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: gst-libs/gst/gettext.h
+Copyright: 1995-1998, 2000-2002, Free Software Foundation, Inc
+License: LGPL-2+
+
+Files: ext/x264/gstx264enc.c
+Copyright: 2005, Josef Zlomek <josef.zlomek@itonis.tv>
+  2005, Michal Benes <michal.benes@itonis.tv>
+  2008, Mark Nauwelaerts <mnauw@users.sf.net>
+License: LGPL-2+
+
+Files: ext/x264/gstx264enc.h
+Copyright: 2005, Josef Zlomek <josef.zlomek@itonis.tv>
+  2005, Michal Benes <michal.benes@itonis.tv>
+License: LGPL-2+
+
+Files: tests/check/elements/mpeg2dec.c
+Copyright: 2006, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: gst-libs/gst/gst-i18n-plugin.h
+Copyright: 2004, Thomas Vander Stichele <thomas@apestaart.org>
+License: LGPL-2+
+
+Files: tests/check/elements/xingmux.c
+Copyright: 2008, Sebastian Dröge <slomo@circular-chaos.org>
+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/extra b/debian/extra
new file mode 100644
index 0000000..65d3db0
--- /dev/null
+++ b/debian/extra
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+if [ $# -lt 2 ]; then
+   echo "usage: $1 deps|control plugin"
+   exit 1
+fi
+
+case $1 in
+  deps)
+    case $2 in
+      *)
+        echo "ERROR invalid plugin: add your plugin to debian/extra"
+        exit 1
+        ;;
+    esac ;;
+
+  control)
+    case $2 in
+      *)
+        echo "ERROR invalid plugin: add your plugin to debian/extra"
+        exit 1
+        ;;
+    esac ;;
+  *) echo "ERROR use deps or control" ;;
+esac
+
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/gstreamer-plugins-ugly-doc.install b/debian/gstreamer-plugins-ugly-doc.install
new file mode 100644
index 0000000..133e6a2
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly-doc.install
@@ -0,0 +1 @@
+debian/tmp/usr/share/gtk-doc
diff --git a/debian/gstreamer-plugins-ugly.install b/debian/gstreamer-plugins-ugly.install
new file mode 100644
index 0000000..eb19053
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly.install
@@ -0,0 +1,15 @@
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsta52dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstamrnb.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstamrwbdec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstasf.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcdio.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdlpcmdec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdread.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdsub.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpeg2dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrealmedia.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsid.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstx264.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstxingmux.so
+debian/tmp/usr/share/locale
+debian/tmp/usr/share/gstreamer-@GST_ABI@/presets/*.prs
diff --git a/debian/maint b/debian/maint
new file mode 100755
index 0000000..de89a47
--- /dev/null
+++ b/debian/maint
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+
+missing:
+	make -f debian/rules list-missing
+
+missing-so:
+	make -f debian/rules list-missing | grep so$$ | cut -c 2-
+
+missing-libs:
+	for i in `make -f debian/rules list-missing | grep so$$ | cut -c 2-`; do echo "=== $$i ==="; ldd debian/tmp/$$i; echo; done
+
+.PHONY: missing missing-so missing-libs
+
diff --git a/debian/mk.control b/debian/mk.control
new file mode 100755
index 0000000..e69cbf7
--- /dev/null
+++ b/debian/mk.control
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w
+
+open BUILDDEPS, "debian/build-deps";
+@builddeplist = <BUILDDEPS>;
+close BUILDDEPS;
+
+chomp(@builddeplist);
+@builddeplist = grep(!/^$/, @builddeplist);
+$builddeps = join(", ", @builddeplist);
+
+open CONTROLIN, "debian/control.in";
+
+while(<CONTROLIN>){
+        s/BUILDDEPS/$builddeps/;
+        print;
+}
+
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..a15d1b1
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,186 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/gnome.mk
+include /usr/share/cdbs/1/rules/utils.mk
+include /usr/share/cdbs/1/rules/autoreconf.mk
+
+# Work-around for gtk-doc bug:
+# https://bugzilla.gnome.org/show_bug.cgi?id=783926
+export PYTHONIOENCODING="utf-8"
+
+DEB_DH_AUTORECONF_ARGS=--as-needed
+
+CFLAGS += -Wno-error
+CXXFLAGS += -Wno-error
+LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
+DEB_MAKE_CHECK_TARGET = check || true
+
+# this is for compatibility with dpkg-dev < 1.13.5, see
+# <http://lists.debian.org/debian-devel-announce/2005/06/msg00010.html>
+DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
+DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
+
+# Take account of old dpkg-architecture output.
+ifeq ($(DEB_HOST_ARCH_CPU),)
+  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
+  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
+    DEB_HOST_ARCH_CPU := amd64
+  endif
+endif
+ifeq ($(DEB_HOST_ARCH_OS),)
+  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
+  ifeq ($(DEB_HOST_ARCH_OS),gnu)
+    DEB_HOST_ARCH_OS := hurd
+  endif
+endif
+# end of compatibility block
+
+# 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)
+# gstreamer library package names
+gst_lib=libgstreamer$(gst_abi)-0
+gst_lib_dev=libgstreamer$(gst_abi)-dev
+# what gstreamer version is needed
+gst_lib_dev_dep=$(gst_lib_dev) (>= 1.14.0)
+
+gst_pkgname=gstreamer$(gst_abi)
+gst_deb_abi=$(gst_abi)-0
+
+gst_extra_build_depends =
+
+# The plugins are basically the same.
+# Link special names to a template file.
+# still need "*.install" to be done by hand
+# 
+# EXTRA_PLUGINS: See debian/README.Debian for docs
+EXTRA_PLUGINS +=
+
+PLUGINS += plugins-ugly $(EXTRA_PLUGINS)
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+PLUGINS +=
+endif
+VERSIONIZE= \
+	plugins-ugly-doc.install \
+
+# debug package
+DEB_DH_STRIP_ARGS := --dbg-package=$(gst_pkgname)-plugins-ugly-dbg
+
+
+# Let's decide the package name and url depending on the distribution
+DISTRO = "$(shell dpkg-vendor --query vendor)"
+
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (unknown Debian derivative)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-ugly$(gst_abi)"
+
+ifeq ($(DISTRO),"Debian")
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (Debian)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-ugly$(gst_abi)"
+endif
+
+ifeq ($(DISTRO),"Ubuntu")
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (Ubuntu)"
+GST_PACKAGE_ORIGIN="https://launchpad.net/distros/ubuntu/+source/gst-plugins-ugly$(gst_abi)"
+endif
+
+
+# setup links for packages
+pre-build::
+	for p in $(PLUGINS); do \
+		rm -f debian/$(gst_pkgname)-$$p.install; \
+		cat debian/gstreamer-$$p.install | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' \
+			> debian/$(gst_pkgname)-$$p.install; \
+	done
+
+	for f in $(VERSIONIZE); do \
+		cat debian/gstreamer-$$f | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' \
+			> debian/$(gst_pkgname)-$$f; \
+	done
+
+maint: debian/control
+
+debian/build-deps: debian/build-deps.in debian/rules
+	cat $< > $@
+	for plugin in $(EXTRA_PLUGINS) ; do \
+		sh debian/extra deps $$plugin >> $@; \
+	done
+	sort $@ -o $@
+
+debian/control:: debian/control.in debian/build-deps debian/mk.control debian/rules
+	perl debian/mk.control | \
+		sed  -e 's/@GST_VERSION@/$(gst_version)/g' \
+		    -e 's/@GST_ABI@/$(gst_abi)/g' \
+		    -e 's/@GST_PKGNAME@/$(gst_pkgname)/g' \
+		    -e 's/@GST_LIB@/$(gst_lib)/g' \
+		    -e 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \
+		    -e 's/@GST_LIB_DEV_DEP@/$(gst_lib_dev_dep)/g' \
+		    -e 's/@GST_EXTRA_BUILD_DEPENDS@/$(gst_extra_build_depends)/g' \
+		    -e '/^Build-Depends\(-Indep\)\?/s/,\( *,\)*/,/g' \
+		    -e '/^Build-Depends\(-Indep\)\?/s/\ *,\ */,\n               /g' \
+		    >$@
+	for plugin in $(EXTRA_PLUGINS) ; do \
+		sh debian/extra control $$plugin | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' | \
+			sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+			sed 's/@GST_LIB@/$(gst_lib)/g' | \
+			sed 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' | \
+			sed 's/@GST_LIB_DEV_DEP@/$(gst_lib_dev_dep)/g' | \
+			sed 's/@GST_PLUGINS_LIB@/$(gst_plugins_lib)/g' | \
+			sed 's/@GST_PLUGINS_LIB_DEV@/$(gst_plugins_lib_dev)/g' | \
+			sed 's/@GST_PLUGINS_LIB_DEV_DEP@/$(gst_plugins_lib_dev_dep)/g' | \
+			sed 's/@GST_GCONF_LIB@/$(gst_gconf_lib)/g' | \
+			sed 's/@GST_GCONF_LIB_DEV@/$(gst_gconf_lib_dev)/g' | \
+			sed 's/@GST_GCONF_LIB_DEV_DEP@/$(gst_gconf_lib_dev_dep)/g' >> $@; \
+	done
+
+space :=
+space +=
+X264_LIBRARY_PATHS := $(patsubst $(space),:,$(wildcard /usr/lib/*/x264-10bit/libx264.so.*))
+
+DEB_CONFIGURE_EXTRA_FLAGS += \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+	--disable-examples \
+	--enable-DEBUG \
+	--enable-debug \
+	--with-package-name=$(GST_PACKAGE_NAME) \
+	--with-package-origin=$(GST_PACKAGE_ORIGIN) \
+	--with-x264-libraries=$(X264_LIBRARY_PATHS)
+
+# only build the docs on arches which can
+ifeq (,$(findstring $(DEB_HOST_ARCH),m68k arm))
+DEB_CONFIGURE_EXTRA_FLAGS += --enable-gtk-doc
+endif
+
+
+clean::
+	# get rid of the sym links
+	for i in $(PLUGINS); do \
+		rm -f debian/$(gst_pkgname)-$$i.install; \
+		rm -f debian/$(gst_pkgname)-$$i.preinst; \
+	done
+	for f in $(VERSIONIZE); do \
+		rm -f debian/$(gst_pkgname)-$$f; \
+	done
+
+common-install-impl::
+	find $(CURDIR)/debian/tmp/ -name '*.la' -print -delete
+
+common-binary-fixup-arch::
+	dh_gstscancodecs
+
+DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
+
+# Disable inclusion of large upstream ChangeLog
+DEB_INSTALL_CHANGELOGS_ALL :=
+
+# Fail when files aren't installed
+DEB_DH_INSTALL_ARGS := --fail-missing
+
+.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..ca238ba
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-(1\.[\d\.]+)\.tar\.xz
