Source: gst-plugins-bad1.0
Section: libs
Priority: extra
Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
Uploaders: Sebastian Dröge <slomo@debian.org>,
           Sjoerd Simons <sjoerd@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),
               flite-dev,
               gir1.2-freedesktop,
               gir1.2-glib-2.0,
               gir1.2-gst-plugins-base-1.0,
               gir1.2-gstreamer-1.0,
               gobject-introspection (>= 0.9.12-4~),
               libasound2-dev (>= 0.9.1) [linux-any],
               libcdaudio-dev [linux-any],
               libdc1394-22-dev (>= 2.0.0) [linux-any],
               libgudev-1.0-dev (>= 143) [linux-any],
               libusb-1.0-0-dev [linux-any],
               libbluetooth-dev (>= 5) [linux-any],
               libsbc-dev (>= 1.1) [linux-any],
               libwayland-dev (>= 1.0) [linux-any],
               libgstreamer1.0-dev (>= 1.7.90),
               gstreamer1.0-doc,
               gstreamer1.0-plugins-base (>= 1.7.90),
               gstreamer1.0-plugins-base-doc,
               gtk-doc-tools (>= 1.12),
               ladspa-sdk,
               libass-dev (>= 0.10.4),
               libbs2b-dev,
               libbz2-dev,
               libcairo2-dev,
               libchromaprint-dev,
               libcurl4-gnutls-dev (>= 7.35.0),
               libdca-dev,
               libde265-dev,
               libdirectfb-dev (>= 0.9.25),
               libdrm-dev,
               libdvdnav-dev (>= 4.1.2) [!hurd-any],
               libegl1-mesa-dev,
               libexempi-dev,
               libexif-dev (>= 0.6.16),
               libfaad-dev (>= 2.7),
               libfluidsynth-dev (>= 1.0),
               libgirepository1.0-dev (>= 0.9.12-4~),
               libgl1-mesa-dev,
               libgles2-mesa-dev,
               libglib2.0-dev (>= 2.40),
               libglu1-mesa-dev,
               libgme-dev,
               libgnutls28-dev (>= 2.11.3),
               libgsm1-dev,
               libgstreamer-plugins-base1.0-dev (>= 1.7.90),
               libgtk-3-dev (>= 3.15.0),
               libiptcdata0-dev (>= 1.0.2),
               libkate-dev (>= 0.1.7),
               libmimic-dev (>= 1.0),
               libmjpegtools-dev,
               libmms-dev (>= 0.4),
               libmodplug-dev,
               libmpcdec-dev,
               libofa0-dev (>= 0.9.3),
               libopenal-dev (>= 1:1.14),
               libopencv-dev (>= 2.3.0),
               libopenexr-dev,
               libopenjpeg-dev,
               libopus-dev (>= 0.9.4),
               liborc-0.4-dev (>= 1:0.4.17),
               libpng-dev,
               librsvg2-dev (>= 2.36.2),
               librtmp-dev,
               libschroedinger-dev (>= 1.0.7),
               libsndfile1-dev (>= 1.0.16),
               libsoundtouch-dev (>= 1.5.0),
               libspandsp-dev,
               libsrtp0-dev,
               libssl-dev,
               libtool (>= 2.2.6),
               libvo-aacenc-dev,
               libvo-amrwbenc-dev,
               libwebp-dev (>= 0.2.1),
               libwildmidi-dev (>= 0.2.3),
               libx11-dev,
               libx265-dev,
               libxml2-dev (>= 2.8),
               libxvidcore-dev,
               libzbar-dev (>= 0.9),
               libzvbi-dev,
               nettle-dev,
               pkg-config (>= 0.11.0)
Standards-Version: 3.9.3
Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-bad1.0.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-bad1.0.git;a=summary
Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-bad.html

Package: gstreamer1.0-plugins-bad-doc
Architecture: all
Section: doc
Depends: ${misc:Depends},
         gstreamer1.0-doc,
         gstreamer1.0-plugins-base-doc
Description: GStreamer documentation for plugins from the "bad" 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.
 .
 GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
 to the rest. They might be close to being good quality, but they're missing
 something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.
 .
 This package contains the documentation for plugins from the "bad" set.
 
Package: gstreamer1.0-plugins-bad
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
         gstreamer1.0-plugins-base,
         libgstreamer-plugins-bad1.0-0 (= ${binary:Version}),
Provides: ${gstreamer:Provides}
Suggests: frei0r-plugins
Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
Breaks: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.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}
Description: GStreamer plugins from the "bad" 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.
 .
 GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
 to the rest. They might be close to being good quality, but they're missing
 something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.

Package: gstreamer1.0-plugins-bad-dbg
Architecture: any
Multi-Arch: same
Section: debug
Priority: extra
Depends: gstreamer1.0-plugins-bad (= ${binary:Version}),
         ${misc:Depends}
Replaces: gstreamer1.0-plugins-base-dbg (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
Breaks: gstreamer1.0-plugins-base-dbg (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2)
Description: GStreamer plugins from the "bad" 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.

Package: libgstreamer-plugins-bad1.0-0
Architecture: any
Section: libs
Priority: extra
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
         ${shlibs:Depends},
Description: GStreamer development files for libraries from the "bad" 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.
 .
 GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
 to the rest. They might be close to being good quality, but they're missing
 something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.
 .
 This package contains shared GStreamer libraries from the "bad" set. The API
 is not guaranteed to be stable.

Package: libgstreamer-plugins-bad1.0-dev
Architecture: any
Section: libdevel
Priority: extra
Depends: ${misc:Depends},
         libgstreamer-plugins-bad1.0-0 (= ${binary:Version}),
         libgstreamer1.0-dev,
         libgstreamer-plugins-base1.0-dev,
         gir1.2-gst-plugins-bad-1.0 (= ${binary:Version})
Description: GStreamer development files for libraries from the "bad" 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.
 .
 GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
 to the rest. They might be close to being good quality, but they're missing
 something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.
 .
 This package contains development files for GStreamer libraries from the
 "bad" set. The API is not guaranteed to be stable.

Package: gir1.2-gst-plugins-bad-1.0
Section: introspection
Architecture: any
Depends: ${gir:Depends},
         ${shlibs:Depends},
         ${misc:Depends},
         ${gir:Depends}
Description: GObject introspection data for the GStreamer libraries from the "bad" 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.
 .
 GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared
 to the rest. They might be close to being good quality, but they're missing
 something - be it a good code review, some documentation, a set of tests, a
 real live maintainer, or some actual wide use.
 .
 This package contains introspection data for the GStreamer libraries from
 the "bad" set. It can be used by packages using the GIRepository format to
 generate dynamic bindings.

