![]() |
![]() |
![]() |
GStreamer 0.9 Core Reference Manual | ![]() |
---|
GstGst — Media library supporting arbitrary formats and filter graphs. |
#include <gst/gst.h> void gst_init (int *argc, char **argv[]); gboolean gst_init_check (int *argc, char **argv[]); void gst_init_with_popt_table (int *argc, char **argv[], const GstPoptOption *popt_options); gboolean gst_init_check_with_popt_table (int *argc, char **argv[], const GstPoptOption *popt_options); const GstPoptOption* gst_init_get_popt_table (void); void gst_deinit (void);
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).
GStreamer borrows heavily from both the OGI media pipeline 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.
The GStreamer library should be initialized with
gst_init()
before it can be used. You should pass pointers to the main argc
and argv variables so that GStreamer can process its own command line
options, as shown in the following example.
Example 1. Initializing the gstreamer library
int main (int argc, char *argv[]) { // initialize the GStreamer library gst_init (&argc, &argv); ... }
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.
You can also use a popt table to initialize your own parameters as shown in the next code fragment:
Example 2. Initializing own parameters when initializing gstreamer
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); ... }
Use gst_version()
to query the library version at runtime or use the GST_VERSION_* macros
to find the version at compile time.
The functions gst_main()
and gst_main_quit()
enter and exit the main loop.
GStreamer doesn't currently require you to use a mainloop but can intergrate
with it without problems.
void gst_init (int *argc, char **argv[]);
Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins.
This function will terminate your program if it was unable to initialize
GStreamer for some reason. If you want your program to fall back,
use gst_init_check()
instead.
WARNING: This function does not work in the same way as corresponding
functions in other glib-style libraries, such as gtk_init()
. In
particular, unknown command line options cause this function to
abort program execution.
argc : |
pointer to application's argc |
argv : |
pointer to application's argv |
gboolean gst_init_check (int *argc, char **argv[]);
Initializes the GStreamer library, setting up internal path lists, registering built-in elements, and loading standard plugins.
This function will return FALSE
if GStreamer could not be initialized
for some reason. If you want your program to fail fatally,
use gst_init()
instead.
argc : |
pointer to application's argc |
argv : |
pointer to application's argv |
Returns : | TRUE if GStreamer could be initialized.
|
void gst_init_with_popt_table (int *argc, char **argv[], const GstPoptOption *popt_options);
Initializes the GStreamer library, parsing the options, setting up internal path lists, registering built-in elements, and loading standard plugins.
This function will terminate your program if it was unable to initialize
GStreamer for some reason. If you want your program to fall back,
use gst_init_check_with_popt_table()
instead.
argc : |
pointer to application's argc |
argv : |
pointer to application's argv |
popt_options : |
pointer to a popt table to append |
gboolean gst_init_check_with_popt_table (int *argc, char **argv[], const GstPoptOption *popt_options);
Initializes the GStreamer library, parsing the options, setting up internal path lists, registering built-in elements, and loading standard plugins.
argc : |
pointer to application's argc |
argv : |
pointer to application's argv |
popt_options : |
pointer to a popt table to append |
Returns : | TRUE if GStreamer could be initialized.
|
const GstPoptOption* gst_init_get_popt_table (void);
Returns a popt option table with GStreamer's argument specifications. The table is set up to use popt's callback method, so whenever the parsing is actually performed (via poptGetContext), the GStreamer libraries will be initialized.
This function is useful if you want to integrate GStreamer with other libraries that use popt.
Returns : | a pointer to the static GStreamer option table. No free is necessary. |
<< GStreamer Core Library | GstBin >> |