gstreamer/docs/gst/tmpl/gst.sgml
Wim Taymans 9df69622d9 Documentation updates
Original commit message from CVS:
Documentation updates
2002-06-12 22:27:18 +00:00

149 lines
3.2 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. Metadata can be passed with all data to provide
formatting/framing information. 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 (I've redesigned the
metadata handling twice already), 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 (&amp;argc, &amp;argv);
...
}
</programlisting>
</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, &amp;stats, 0,
"Show pad stats", NULL},
POPT_TABLEEND
};
/* initialize the GStreamer library */
gst_init_with_popt_table (&amp;argc, &amp;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.
</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_with_popt_table ##### -->
<para>
</para>
@argc:
@argv:
@popt_options:
<!-- ##### FUNCTION gst_version ##### -->
<para>
</para>
@major:
@minor:
@micro:
<!-- ##### FUNCTION gst_main ##### -->
<para>
</para>
<!-- ##### FUNCTION gst_main_quit ##### -->
<para>
</para>
<!-- ##### VARIABLE g_log_domain_gstreamer ##### -->
<para>
</para>
<!-- ##### MACRO GST_VERSION_MAJOR ##### -->
<para>
The major version of GStreamer at compile time
</para>
<!-- ##### MACRO GST_VERSION_MINOR ##### -->
<para>
The minor version of GStreamer at compile time
</para>
<!-- ##### MACRO GST_VERSION_MICRO ##### -->
<para>
The micro version of GStreamer at compile time
</para>