Initializing &GStreamer;
When writing a &GStreamer; application, you can simply include
gst/gst.h to get access to the library
functions. Besides that, you will also need to intialize the
&GStreamer; library.
Simple initialization
Before the &GStreamer; libraries can be used,
gst_init has to be called from the main
application. This call will perform the necessary initialization
of the library as well as parse the &GStreamer;-specific command
line options.
A typical program &EXAFOOT; would have code to initialize
&GStreamer; that looks like this:
#include <gst/gst.h>
int
main (int argc,
char *argv[])
{
guint major, minor, micro;
gst_init (&argc, &argv);
gst_version (&major, &minor, µ);
printf ("This program is linked against GStreamer %d.%d.%d\n",
major, minor, micro);
return 0;
}
Use the GST_VERSION_MAJOR,
GST_VERSION_MINOR and GST_VERSION_MICRO
macros to get the &GStreamer; version you are building against, or
use the function gst_version to get the version
your application is linked against. &GStreamer; currently uses a
scheme where versions with the same major and minor versions are
API-/ and ABI-compatible.
It is also possible to call the gst_init function
with two NULL arguments, in which case no command line
options will be parsed by GStreamer.
The popt interface
You can also use a popt table to initialize your own parameters as
shown in the next example:
#include <gst/gst.h>
int
main (int argc,
char *argv[])
{
gboolean silent = FALSE;
gchar *savefile = NULL;
struct poptOption options[] = {
{"silent", 's', POPT_ARG_NONE|POPT_ARGFLAG_STRIP, &silent, 0,
"do not output status information", NULL},
{"output", 'o', POPT_ARG_STRING|POPT_ARGFLAG_STRIP, &savefile, 0,
"save xml representation of pipeline to FILE and exit", "FILE"},
POPT_TABLEEND
};
gst_init_with_popt_table (&argc, &argv, options);
printf ("Run me with --help to see the Application options appended.\n");
return 0;
}
As shown in this fragment, you can use a popt table to define your application-specific
command line options, and pass this table to the
function gst_init_with_popt_table. Your
application options will be parsed in addition to the standard
GStreamer options.