Source: imx-gst-plugins-bad
Section: libs
Priority: extra
Maintainer: Maintainers of GStreamer packages <gst-plugins-bad1.0@packages.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,
               libasound2-dev (>= 0.9.1) [linux-any],
               libcdaudio-dev [linux-any],
               libdc1394-22-dev (>= 2.0.0) [linux-any],
               libusb-1.0-0-dev [linux-any],
               libbluetooth-dev (>= 5) [linux-any],
               libsbc-dev (>= 1.1) [linux-any],
               libwayland-dev (>= 1.4.0) [linux-any],
               libdrm-dev (>= 2.4.55) [linux-any],
               libdrm-imx-dev (>= 2.4.84+imx),
               linux-headers-4.14.98-imx (>=1),
               wayland-protocols (>= 1.4) [linux-any],
               libvulkan-dev [linux-any],
               libgstreamer1.0-dev (>= 1.14.4),
               gtk-doc-tools (>= 1.12),
               gstreamer1.0-doc,
               gstreamer1.0-plugins-base (>= 1.14.4),
               gstreamer1.0-plugins-base-doc,
               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,
               libdvdnav-dev (>= 4.1.2) [!hurd-any],
               libexempi-dev,
               libexif-dev (>= 0.6.16),
               libfaad-dev (>= 2.7),
               libfluidsynth-dev (>= 1.0),
               libgl1-mesa-dev,
               libgles2-mesa-dev,
               libglib2.0-dev (>= 2.40),
               libgme-dev,
               libgnutls28-dev (>= 2.11.3),
               libgsm1-dev,
               libgstreamer-plugins-base1.0-dev (>= 1.14.4),
               libgtk-3-dev (>= 3.15.0),
               libiptcdata0-dev (>= 1.0.2),
               libkate-dev (>= 0.1.7),
               liblcms2-dev (>= 2.7),
               liblilv-dev (>= 0.16),
               libmjpegtools-dev,
               libmms-dev (>= 0.4),
               libmodplug-dev,
               libmpcdec-dev,
               libofa0-dev (>= 0.9.3),
               libopenal-dev (>= 1:1.14),
               libopenexr-dev,
               libopenjp2-7-dev (>= 2.1),
               libopenmpt-dev,
               libopus-dev (>= 0.9.4),
               liborc-0.4-dev (>= 1:0.4.17),
               libpng-dev,
               librsvg2-dev (>= 2.36.2),
               librtmp-dev,
               libsndfile1-dev (>= 1.0.16),
               libsoundtouch-dev (>= 1.5.0),
               libspandsp-dev,
               libssl-dev,
               libtool (>= 2.2.6),
               libvo-aacenc-dev,
               libvo-amrwbenc-dev,
               libwebp-dev (>= 0.2.1),
               libwebrtc-audio-processing-dev (>= 0.2),
               libwildmidi-dev (>= 0.2.3),
               libx11-dev,
               libx11-xcb-dev,
               libx265-dev,
               libxml2-dev (>= 2.8),
               libxvidcore-dev,
               libzvbi-dev,
               nettle-dev,
               pkg-config (>= 0.11.0)
Standards-Version: 3.9.8
Vcs-Git: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0.git
Vcs-Browser: https://salsa.debian.org/gstreamer-team/gst-plugins-bad1.0/
Homepage: https://gstreamer.freedesktop.org

Package: gstreamer1.0-plugins-bad-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 "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: gstreamer1.0-plugins-bad-videoparsers,
          gstreamer1.0-plugins-bad-faad,
          ${gstreamer:Provides}
Suggests: frei0r-plugins
Conflicts: gstreamer1.0-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
           gstreamer1.0-plugins-bad-faad (<< 1.11.91-1ubuntu1)
Replaces: gstreamer1.0-plugins-base (<< 0.11.94), gstreamer1.0-plugins-good (<< 1.1.2),
          gstreamer1.0-plugins-bad-videoparsers (<< 1.11.91-1ubuntu1),
          gstreamer1.0-plugins-bad-faad (<< 1.11.91-1ubuntu1)
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 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
Multi-Arch: same
Section: libdevel
Priority: extra
Depends: ${misc:Depends},
         libgstreamer-plugins-bad1.0-0 (= ${binary:Version}),
         libgstreamer1.0-dev,
         libgstreamer-plugins-base1.0-dev,
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.

