mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-03 06:56:46 +00:00
1e4ad29e52
Original commit message from CVS: * docs/gst/gstreamer-docs.sgml: I got tired of the reference manual being such complete crap, that I decided to do major hacking of it. This checkin replaces any fine tuning that may have been done previously, with the benefit of actually being complete for much of the API that was changed since 0.6. Further fine tuning will occur shortly. (bug #134721) * docs/gst/gstreamer-sections.txt: * docs/gst/tmpl/GstBin.sgml: * docs/gst/tmpl/GstBuffer.sgml: * docs/gst/tmpl/GstCaps.sgml: * docs/gst/tmpl/GstClock.sgml: * docs/gst/tmpl/GstCompat.sgml: * docs/gst/tmpl/GstData.sgml: * docs/gst/tmpl/GstElement.sgml: * docs/gst/tmpl/GstEvent.sgml: * docs/gst/tmpl/GstIndex.sgml: * docs/gst/tmpl/GstStructure.sgml: * docs/gst/tmpl/GstTag.sgml: * docs/gst/tmpl/cothreads.sgml: * docs/gst/tmpl/cothreads_compat.sgml: * docs/gst/tmpl/gettext.sgml: * docs/gst/tmpl/grammar.tab.sgml: * docs/gst/tmpl/gst-i18n-app.sgml: * docs/gst/tmpl/gst-i18n-lib.sgml: * docs/gst/tmpl/gst.sgml: * docs/gst/tmpl/gst_private.sgml: * docs/gst/tmpl/gstaggregator.sgml: * docs/gst/tmpl/gstarch.sgml: * docs/gst/tmpl/gstatomic.sgml: * docs/gst/tmpl/gstatomic_impl.sgml: * docs/gst/tmpl/gstbin.sgml: * docs/gst/tmpl/gstbuffer.sgml: * docs/gst/tmpl/gstbufferstore.sgml: * docs/gst/tmpl/gstcaps.sgml: * docs/gst/tmpl/gstclock.sgml: * docs/gst/tmpl/gstcompat.sgml: * docs/gst/tmpl/gstconfig.sgml: * docs/gst/tmpl/gstcpu.sgml: * docs/gst/tmpl/gstdata.sgml: * docs/gst/tmpl/gstdata_private.sgml: * docs/gst/tmpl/gstelement.sgml: * docs/gst/tmpl/gstenumtypes.sgml: * docs/gst/tmpl/gsterror.sgml: * docs/gst/tmpl/gstevent.sgml: * docs/gst/tmpl/gstfakesink.sgml: * docs/gst/tmpl/gstfakesrc.sgml: * docs/gst/tmpl/gstfilesink.sgml: * docs/gst/tmpl/gstfilter.sgml: * docs/gst/tmpl/gstindex.sgml: * docs/gst/tmpl/gstinfo.sgml: * docs/gst/tmpl/gstinterface.sgml: * docs/gst/tmpl/gstlog.sgml: * docs/gst/tmpl/gstmacros.sgml: * docs/gst/tmpl/gstmarshal.sgml: * docs/gst/tmpl/gstmd5sink.sgml: * docs/gst/tmpl/gstmultifilesrc.sgml: * docs/gst/tmpl/gstobject.sgml: * docs/gst/tmpl/gstpad.sgml: * docs/gst/tmpl/gstparse.sgml: * docs/gst/tmpl/gstpipeline.sgml: * docs/gst/tmpl/gstplugin.sgml: * docs/gst/tmpl/gstpluginfeature.sgml: * docs/gst/tmpl/gstqueue.sgml: * docs/gst/tmpl/gstreamer-unused.sgml: * docs/gst/tmpl/gstregistry.sgml: * docs/gst/tmpl/gstregistrypool.sgml: * docs/gst/tmpl/gstscheduler.sgml: * docs/gst/tmpl/gstsearchfuncs.sgml: * docs/gst/tmpl/gstshaper.sgml: * docs/gst/tmpl/gstspider.sgml: * docs/gst/tmpl/gstspideridentity.sgml: * docs/gst/tmpl/gststructure.sgml: * docs/gst/tmpl/gstsystemclock.sgml: * docs/gst/tmpl/gsttag.sgml: * docs/gst/tmpl/gsttaginterface.sgml: * docs/gst/tmpl/gsttee.sgml: * docs/gst/tmpl/gstthread.sgml: * docs/gst/tmpl/gsttrace.sgml: * docs/gst/tmpl/gsttrashstack.sgml: * docs/gst/tmpl/gsttypefind.sgml: * docs/gst/tmpl/gsttypes.sgml: * docs/gst/tmpl/gsturi.sgml: * docs/gst/tmpl/gsturitype.sgml: * docs/gst/tmpl/gstutils.sgml: * docs/gst/tmpl/gstvalue.sgml: * docs/gst/tmpl/gstversion.sgml: * docs/gst/tmpl/gstxml.sgml: * docs/gst/tmpl/gstxmlregistry.sgml: * docs/gst/tmpl/gthread-cothreads.sgml: * docs/gst/tmpl/types.sgml:
166 lines
3.4 KiB
Text
166 lines
3.4 KiB
Text
<!-- ##### SECTION Title ##### -->
|
|
GStreamer
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Media library supporting arbitrary formats and filter graphs.
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GStreamer is a framework for constructing graphs of various filters
|
|
(termed elements here) that will handle streaming media. Any discreet
|
|
(packetizable) media type is supported, with provisions for automatically
|
|
determining source type. Formatting/framing information is provided with
|
|
a powerful negotiation framework. Plugins are heavily used to provide for
|
|
all elements, allowing one to construct plugins outside of the GST
|
|
library, even released binary-only if license require (please don't).
|
|
</para>
|
|
|
|
<para>
|
|
GStreamer borrows heavily from both the <ulink
|
|
url="http://www.cse.ogi.edu/sysl/">OGI media pipeline</ulink> and
|
|
Microsoft's DirectShow, hopefully taking the best of both and leaving the
|
|
cruft behind. Its interface is still very fluid and thus can be changed
|
|
to increase the sanity/noise ratio.
|
|
</para>
|
|
|
|
<para>
|
|
The <application>GStreamer</application> library should be initialized with gst_init() before
|
|
it can be used. You should pass a pointer to the main argc and argv variables so that GStreamer can
|
|
process its own command line options, as shown in the following example.
|
|
|
|
<programlisting>
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
/* initialize the GStreamer library */
|
|
gst_init (&argc, &argv);
|
|
...
|
|
}
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
It's allowed to pass two NULL pointers to gst_init() in case you don't want to pass the command
|
|
line args to GStreamer.
|
|
</para>
|
|
|
|
<para>
|
|
You can also use a popt table to initialize your own parameters as shown in the next code
|
|
fragment:
|
|
<programlisting>
|
|
static gboolean stats = FALSE;
|
|
...
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
struct poptOption options[] = {
|
|
{ "stats", 's', POPT_ARG_NONE|POPT_ARGFLAG_STRIP, &stats, 0,
|
|
"Show pad stats", NULL},
|
|
POPT_TABLEEND
|
|
};
|
|
|
|
/* initialize the GStreamer library */
|
|
gst_init_with_popt_table (&argc, &argv, options);
|
|
|
|
...
|
|
}
|
|
</programlisting>
|
|
</para>
|
|
<para>
|
|
Use gst_version() to query the library version at runtime or use the GST_VERSION_* macros
|
|
to find the version at compile time.
|
|
</para>
|
|
<para>
|
|
gst_main() and gst_main_quit() enter and exit the main loop. GStreamer doesn't currently require
|
|
you to us a mainloop but can intergrate with it without problems.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
Check out both <ulink url="http://www.cse.ogi.edu/sysl/">OGI's
|
|
pipeline</ulink> and Microsoft's DirectShow for some background.
|
|
</para>
|
|
|
|
<!-- ##### FUNCTION gst_init ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@argc:
|
|
@argv:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_init_check ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@argc:
|
|
@argv:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_init_with_popt_table ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@argc:
|
|
@argv:
|
|
@popt_options:
|
|
<!-- # Unused Parameters # -->
|
|
@Param3:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_init_check_with_popt_table ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@argc:
|
|
@argv:
|
|
@popt_options:
|
|
@Returns:
|
|
<!-- # Unused Parameters # -->
|
|
@Param3:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_init_get_popt_table ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_use_threads ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@use_threads:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_has_threads ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gst_main ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_main_quit ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
|
|
|