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..bde2286
--- /dev/null
+++ b/debian/build-deps
@@ -0,0 +1,30 @@
+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.11.2)
+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.11.2)
+libmp3lame-dev
+libmpeg2-4-dev (>= 0.5.1)
+libmpg123-dev (>= 1.13)
+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)
+libtwolame-dev (>= 0.3.10)
+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..db00c16
--- /dev/null
+++ b/debian/build-deps.in
@@ -0,0 +1,30 @@
+@GST_LIB_DEV_DEP@
+@GST_EXTRA_BUILD_DEPENDS@
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.11.2)
+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.11.2)
+libcdio-dev (>= 0.76)
+libtwolame-dev (>= 0.3.10)
+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)
+libmp3lame-dev
+libmpg123-dev (>= 1.13)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..1f8b18b
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2444 @@
+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.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..cdea98c
--- /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.11.2),
+               gstreamer1.0-doc,
+               gstreamer1.0-plugins-base (>= 1.11.2),
+               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.11.2),
+               libmp3lame-dev,
+               libmpeg2-4-dev (>= 0.5.1),
+               libmpg123-dev (>= 1.13),
+               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),
+               libtwolame-dev (>= 0.3.10),
+               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}
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2)
+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}
+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..529a237
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,76 @@
+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}
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2)
+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}
+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..b25e2aa
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly.install
@@ -0,0 +1,18 @@
+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@/libgstlame.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpeg2dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpg123.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrmdemux.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsid.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsttwolame.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..e53a656
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,176 @@
+#!/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
+
+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.11.2)
+
+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-binary-fixup-arch::
+	dh_gstscancodecs
+
+DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
+
+# Disable inclusion of large upstream ChangeLog
+DEB_INSTALL_CHANGELOGS_ALL :=
+
+.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
