Chapter 4. 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.

4.1. 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 [1] 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, &micro);
  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.

Notes

[1]

The code for this example is automatically extracted from the documentation and built under examples/manual in the GStreamer tarball.