glfs/multimedia/libdriv/gstreamer10.xml
Xi Ruoyao 8717fc0488 add gstreamer buffer size reset patch
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@21995 af4574ff-66df-0310-9fd7-8a98e5e911e0
2019-08-18 16:57:18 +00:00

317 lines
11 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY gstreamer10-download-http "&gstreamer-dl;/gstreamer/gstreamer-&gstreamer10-version;.tar.xz">
<!ENTITY gstreamer10-download-ftp " ">
<!ENTITY gstreamer10-md5sum "862b7e4263d946bc2ef31b3c582e5587">
<!ENTITY gstreamer10-size "3.2 MB">
<!ENTITY gstreamer10-buildsize "60 MB (with tests; add 36 MB fro docs)">
<!ENTITY gstreamer10-time "1.9 SBU (Using parallelism=4; with tests; add 1.5 SBU for docs)">
]>
<sect1 id="gstreamer10" xreflabel="gstreamer-&gstreamer10-version;">
<?dbhtml filename="gstreamer10.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>gstreamer-&gstreamer10-version;</title>
<indexterm zone="gstreamer10">
<primary sortas="a-gstreamer">gstreamer</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to gstreamer</title>
<para>
<application>gstreamer</application> is a streaming media framework that
enables applications to share a common set of plugins for things like
video encoding and decoding, audio encoding and decoding, audio and video
filters, audio visualisation, web streaming and anything else that
streams in real-time or otherwise. This package only provides base
functionality and libraries. You may need at least <xref
linkend="gst10-plugins-base"/> and one of Good, Bad, Ugly or Libav
plugins.
</para>
&lfs90_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&gstreamer10-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&gstreamer10-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &gstreamer10-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &gstreamer10-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &gstreamer10-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &gstreamer10-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Required patch: <ulink url="&patch-root;/gstreamer-&gstreamer10-version;-buffer_size_reset_fix-1.patch"/></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">gstreamer Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="glib2"/>
</para>
<!-- Required for GNOME -->
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="gobject-introspection"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="gtk3"/> (for examples),
<xref linkend="gsl"/>,
<xref linkend="gtk-doc"/>,
<xref linkend="valgrind"/>, and
<ulink url="http://www.nongnu.org/libunwind/">libunwind</ulink>
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/gstreamer10"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of gstreamer</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gst10-objc-error.xml"/>
<para>
At first, fix a problem causing memory leaking and spurious warnings:
</para>
<screen><userinput>patch -Np1 -i ../gstreamer-&gstreamer10-version;-buffer_size_reset_fix-1.patch</userinput></screen>
<para>
Install <application>gstreamer</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
meson --prefix=/usr \
-Dbuildtype=release \
-Dgst_debug=false \
-Dgtk_doc=disabled \
-Dpackage-origin=http://www.linuxfromscratch.org/blfs/view/svn/ \
-Dpackage-name="GStreamer &gstreamer10-version; BLFS" &amp;&amp;
ninja</userinput></screen>
<para>
To test the results, issue: <command>ninja test</command>. One test,
gst_gstdatetime, is known to fail.
</para>
<caution>
<para>If you are reinstalling <application>gstreamer</application> from a
previous version, it is best if you remove the prior version, including
plugins, before installing the new version. If there is a mixture of
versions installed, using processes may hang or not work properly. As
the <systemitem class="username">root</systemitem> user: </para>
<screen role="nodump"><userinput>rm -rf /usr/bin/gst-* /usr/{lib,libexec}/gstreamer-1.0</userinput></screen>
</caution>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>ninja install</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
gst-inspect-1.0, gst-launch-1.0, gst-stats-1.0, and gst-typefind-1.0
</seg>
<seg>
libgstbase-1.0.so, libgstcheck-1.0.so, libgstcontroller-1.0.so,
libgstnet-1.0.so, and libgstreamer-1.0.so
</seg>
<seg>
/usr/{include,lib,libexec}/gstreamer-1.0 and
/usr/share/gtk-doc/html/gstreamer{,-libs,-plugins}-1.0
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gst-inspect-1.0">
<term><command>gst-inspect-1.0</command></term>
<listitem>
<para>
is a tool that prints out information on available
<application>gstreamer</application> plugins,
information about a particular plugin, or information
about a particular element.
</para>
<indexterm zone="gstreamer10 gst-inspect-1.0">
<primary sortas="b-gst-inspect-1.0">gst-inspect-1.0</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-launch-1.0">
<term><command>gst-launch-1.0</command></term>
<listitem>
<para>
is a tool that builds and runs basic
<application>gstreamer</application> pipelines.
</para>
<indexterm zone="gstreamer10 gst-launch-1.0">
<primary sortas="b-gst-launch-1.0">gst-launch-1.0</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-stats-1.0">
<term><command>gst-stats-1.0</command></term>
<listitem>
<para>
is a tool used to gather statistics about
<application>gstreamer</application> operations.
</para>
<indexterm zone="gstreamer10 gst-stats-1.0">
<primary sortas="b-gst-stats-1.0">gst-stats-1.0</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gst-typefind-1.0">
<term><command>gst-typefind-1.0</command></term>
<listitem>
<para>
uses the <application>gstreamer</application> type finding system
to determine the relevant <application>gstreamer</application>
plugin to parse or decode files, and the corresponding MIME type.
</para>
<indexterm zone="gstreamer10 gst-typefind-1.0">
<primary sortas="b-gst-typefind-1.0">gst-typefind-1.0</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgstbase-1.0">
<term><filename class="libraryfile">libgstbase-1.0.so</filename></term>
<listitem>
<para>
provides some base classes to be extended by elements and utillity
classes that are most useful for plugin developers.
</para>
<indexterm zone="gstreamer10 libgstbase-1.0">
<primary sortas="c-libgstbase-1.0">libgstbase-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgstcheck-1.0">
<term><filename class="libraryfile">libgstcheck-1.0.so</filename></term>
<listitem>
<para>
provides functionality for writing unit tests that use the check
framework.
</para>
<indexterm zone="gstreamer10 libgstcheck-1.0">
<primary sortas="c-libgstcheck-1.0">libgstcheck-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgstcontroller-1.0">
<term><filename class="libraryfile">libgstcontroller-1.0.so</filename></term>
<listitem>
<para>
provides functionality to animate element properties over time.
</para>
<indexterm zone="gstreamer10 libgstcontroller-1.0">
<primary sortas="c-libgstcontroller-1.0">libgstcontroller-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgstnet-1.0">
<term><filename class="libraryfile">libgstnet-1.0.so</filename></term>
<listitem>
<para>
provides network elements and objects.
</para>
<indexterm zone="gstreamer10 libgstnet-1.0">
<primary sortas="c-libgstnet-1.0">libgstnet-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgstreamer-1.0">
<term><filename class="libraryfile">libgstreamer-1.0.so</filename></term>
<listitem>
<para>
provides all of the core <application>gstreamer</application>
services, including initialization, plugin management and types,
as well as the object hierarchy that defines elements and bins,
along with some more specialized elements.
</para>
<indexterm zone="gstreamer10 libgstreamer-1.0">
<primary sortas="c-libgstreamer-1.0">libgstreamer-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>