Source: gstreamer1.0
Section: libs
Priority: optional
Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
Uploaders: Loïc Minier <lool@debian.org>,
           Sebastien Bacher <seb128@debian.org>,
           Sebastian Dröge <slomo@debian.org>,
           Sjoerd Simons <sjoerd@debian.org>
Build-Depends: debhelper (>= 9),
               cdbs (>= 0.4.93~),
               gnome-pkg-tools (>= 0.7),
               autotools-dev,
               automake (>= 1.11),
               autoconf (>= 2.62),
               libtool (>= 2.2.6),
               dh-autoreconf,
               autopoint (>= 0.17),
               zlib1g-dev (>= 1:1.1.4),
               libglib2.0-dev (>= 2.32),
               libgmp3-dev,
               libgsl0-dev,
               pkg-config (>= 0.11.0),
               bison (>= 1:2.4),
               flex (>= 2.5.34),
               dpkg-dev (>= 1.15.1),
               perl-doc,
               libgirepository1.0-dev (>= 0.9.12-4~),
               gobject-introspection (>= 0.9.12-4~),
               gir1.2-glib-2.0,
               gir1.2-freedesktop
Build-Depends-Indep: python (>= 2.2),
                     gtk-doc-tools (>= 1.12),
                     jade (>= 1.2.1),
                     transfig (>= 3.2.3.c),
                     docbook-utils (>= 0.6.9),
                     docbook-xml,
                     docbook-xsl,
                     xsltproc (>= 1.0.21),
                     ghostscript,
                     xmlto,
                     netpbm,
                     libglib2.0-doc
Standards-Version: 3.9.3
Homepage: http://gstreamer.freedesktop.org

Package: libgstreamer1.0-0
Architecture: any
Multi-Arch: same
Section: libs
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
         ${misc:Depends}
Suggests: gstreamer1.0-tools,
          gstreamer1.0-plugins-base
Description: Core GStreamer libraries and elements
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains the core library and elements.

Package: libgstreamer1.0-0-dbg
Architecture: any
Multi-Arch: same
Section: debug
Priority: extra
Depends: libgstreamer1.0-0 (= ${binary:Version}),
         ${misc:Depends}
Description: Core GStreamer libraries and elements
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains unstripped shared libraries. It is provided primarily
 to provide a backtrace with names in a debugger, this makes it somewhat
 easier to interpret core dumps. The libraries are installed in
 /usr/lib/debug and are automatically used by gdb.

Package: libgstreamer1.0-dev
Architecture: any
Section: libdevel
Depends: libgstreamer1.0-0 (= ${binary:Version}),
         libc6-dev | libc-dev,
         pkg-config,
         libglib2.0-dev,
         ${shlibs:Depends},
         ${misc:Depends},
         gir1.2-gstreamer-1.0 (= ${binary:Version})
Recommends: debhelper
Suggests: gstreamer1.0-doc
Description: GStreamer core development files
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains development files for the core library and
 elements.

Package: gstreamer1.0-doc
Architecture: all
Section: doc
Depends: ${misc:Depends},
         libglib2.0-doc
Recommends: libgstreamer1.0-dev (= ${source:Version})
Description: GStreamer core documentation and manuals
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains documentation for core libraries and elements as
 well as:
  * the GStreamer Manual
  * the GStreamer Plugin Writers Guide
  * Various API docs

Package: gstreamer1.0-tools
Architecture: any
Section: utils
Depends: ${shlibs:Depends},
         ${misc:Depends},
         pkg-config,
         libgstreamer1.0-0 (>= 1.4.3)
Suggests: gstreamer1.0-plugins-base
Description: Tools for use with GStreamer
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains versioned command-line tools for GStreamer.

Package: gir1.2-gstreamer-1.0
Section: introspection
Architecture: any
Depends: ${gir:Depends},
         ${shlibs:Depends},
         ${misc:Depends},
         ${gir:Depends}
Description: Description: GObject introspection data for the GStreamer library
 This package contains introspection data for the GStreamer streaming media
 framework.
 .
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 It can be used by packages using the GIRepository format to generate
 dynamic bindings.

