gstreamer/docs/gst/gstreamer-docs.sgml

183 lines
6.7 KiB
Text
Raw Normal View History

<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY hash "#">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GStreamer &GST_API_VERSION; Core Reference Manual</title>
<releaseinfo>
for GStreamer Core &GST_API_VERSION; (&GST_VERSION;)
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/</ulink>.
</releaseinfo>
</bookinfo>
<chapter id="gstreamer">
<title>GStreamer Overview</title>
<para>
GStreamer is a streaming media framework.
It uses graphs of elements which operate on data.
The functionality to process media is provided by plug-ins which provide
features like elements, typefinding, and so on.
This allows new functionality to be added simply by installing new plug-ins.
</para>
<para>
GStreamer is cross-platform and works on most UNIX-like platforms as well as
Windows. It is released under the GNU Library General Public License
(GNU LGPL).
</para>
<mediaobject>
<imageobject>
<imagedata fileref="gst-universe.svg" format="SVG"/>
</imageobject>
<caption>
<para>Relation between gstreamer core objects.</para>
</caption>
</mediaobject>
<xi:include href="building.xml" />
<xi:include href="running.xml" />
</chapter>
<chapter id="libgstreamer">
<title>GStreamer Core Library</title>
<para>
libgstreamer-&GST_API_VERSION;.so provides all the core GStreamer 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>
<xi:include href="xml/gst.xml" />
2012-08-11 21:19:32 +00:00
<xi:include href="xml/gstallocator.xml" />
2011-02-16 15:19:46 +00:00
<xi:include href="xml/gstatomicqueue.xml" />
<xi:include href="xml/gstbin.xml" />
<xi:include href="xml/gstbuffer.xml" />
<xi:include href="xml/gstbufferlist.xml" />
2011-02-22 10:05:09 +00:00
<xi:include href="xml/gstbufferpool.xml" />
<xi:include href="xml/gstbus.xml" />
<xi:include href="xml/gstcaps.xml" />
<xi:include href="xml/gstcapsfeatures.xml" />
2012-01-03 14:03:38 +00:00
<xi:include href="xml/gstsample.xml" />
<xi:include href="xml/gstchildproxy.xml" />
<xi:include href="xml/gstclock.xml" />
<xi:include href="xml/gstconfig.xml" />
<xi:include href="xml/gstcontext.xml" />
<xi:include href="xml/gstcontrolbinding.xml" />
<xi:include href="xml/gstcontrolsource.xml" />
<xi:include href="xml/gstdatetime.xml" />
<xi:include href="xml/gstelement.xml" />
<xi:include href="xml/gstelementfactory.xml" />
<xi:include href="xml/gsterror.xml" />
<xi:include href="xml/gstevent.xml" />
<xi:include href="xml/gstformat.xml" />
<xi:include href="xml/gstghostpad.xml" />
<xi:include href="xml/gstiterator.xml" />
2011-03-30 16:45:08 +00:00
<xi:include href="xml/gstmemory.xml" />
<xi:include href="xml/gstmessage.xml" />
<xi:include href="xml/gstmeta.xml" />
<xi:include href="xml/gstminiobject.xml" />
<xi:include href="xml/gstobject.xml" />
<xi:include href="xml/gstpad.xml" />
<xi:include href="xml/gstpadtemplate.xml" />
<xi:include href="xml/gstparamspec.xml" />
<xi:include href="xml/gstparse.xml" />
<xi:include href="xml/gstpipeline.xml" />
<xi:include href="xml/gstplugin.xml" />
<xi:include href="xml/gstpluginfeature.xml" />
<xi:include href="xml/gstpoll.xml" />
<xi:include href="xml/gstpreset.xml" />
protection: add GstProtectionMeta to support protected content In order to support some types of protected streams (such as those protected using DASH Common Encryption) some per-buffer information needs to be passed between elements. This commit adds a GstMeta type called GstProtectionMeta that allows protection specific information to be added to a GstBuffer. An example of its usage is qtdemux providing information to each output sample that enables a downstream element to decrypt it. This commit adds a utility function to select a supported protection system from the installed Decryption elements found in the registry. The gst_protection_select_system function that takes an array of identifiers and searches the registry for a element of klass Decryptor that supports one or more of the supplied identifiers. If multiple elements are found, the one with the highest rank is selected. This commit adds a unit test for the gst_protection_select_system function that adds a fake Decryptor element to the registry and then checks that it can correctly be selected by the utility function. This commit adds a unit test for GstProtectionMeta that creates GstProtectionMeta and adds & removes it from a buffer and performs some simple reference count checks. API: gst_buffer_add_protection_meta() API: gst_buffer_get_protection_meta() API: gst_protection_select_system() API: gst_protection_meta_api_get_type() API: gst_protection_meta_get_info() https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-15 14:33:31 +00:00
<xi:include href="xml/gstprotection.xml" />
<xi:include href="xml/gstquery.xml" />
<xi:include href="xml/gstregistry.xml" />
<xi:include href="xml/gstsegment.xml" />
<xi:include href="xml/gststructure.xml" />
<xi:include href="xml/gstsystemclock.xml" />
<xi:include href="xml/gsttaglist.xml" />
<xi:include href="xml/gsttagsetter.xml" />
<xi:include href="xml/gsttask.xml" />
<xi:include href="xml/gsttaskpool.xml" />
<xi:include href="xml/gsttoc.xml" />
<xi:include href="xml/gsttocsetter.xml" />
<xi:include href="xml/gsttypefind.xml" />
<xi:include href="xml/gsttypefindfactory.xml" />
<xi:include href="xml/gsturi.xml" />
<xi:include href="xml/gsturihandler.xml" />
<xi:include href="xml/gstutils.xml" />
<xi:include href="xml/gstvalue.xml" />
<xi:include href="xml/gstversion.xml" />
</chapter>
<chapter id="gstreamer-device-probing">
<title>GStreamer Device Discovery and Device Probing</title>
<xi:include href="xml/gstdevicemonitor.xml" />
<xi:include href="xml/gstdevice.xml" />
<xi:include href="xml/gstdeviceprovider.xml" />
<xi:include href="xml/gstdeviceproviderfactory.xml" />
</chapter>
<chapter id="gstreamer-support">
<title>GStreamer Core Support</title>
<para>
Theses modules support the gstreamer core and plugin development.
Application developers will rarely need to know about it.
</para>
<xi:include href="xml/gstinfo.xml" />
<xi:include href="xml/gsttracer.xml" />
<xi:include href="xml/gsttracerfactory.xml" />
<xi:include href="xml/gsttracerrecord.xml" />
</chapter>
<chapter id="gstreamer-hierarchy">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index>
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index role="deprecated">
<title>Index of deprecated API</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.6</title>
<xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.4</title>
<xi:include href="xml/api-index-1.4.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.2.3</title>
<xi:include href="xml/api-index-1.2.3.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.2</title>
<xi:include href="xml/api-index-1.2.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.0.10</title>
<xi:include href="xml/api-index-1.0.10.xml"><xi:fallback /></xi:include>
</index>
<index>
<title>Index of new API in 1.0.5</title>
<xi:include href="xml/api-index-1.0.5.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>