This describes the configuration options for GStreamer. When building GStreamer there are a lot of parts (known internally as "subsystems" ) that can be disabled for various reasons. The most common reasons are speed and size, which is important because GStreamer is designed to run on embedded systems.
If a subsystem is disabled, most of this changes are done in an API compatible way, so you don't need to adapt your code in most cases. It is never done in an ABI compatible way though. So if you want to disable a subsystem, you have to rebuild all programs depending on GStreamer, too.
If a subsystem is disabled in GStreamer, a value is defined in <gst/gst.h>. You can check this if you do subsystem-specific stuff.
Example 3. Doing subsystem specific things
1 2 3
#ifndef GST_DISABLE_GST_DEBUG // do stuff specific to the debugging subsystem #endif // GST_DISABLE_GST_DEBUG
#define GST_DISABLE_GST_DEBUG 1
Configures the inclusion of the debugging subsystem
#define GST_DISABLE_TRACE 1
Configures the inclusion of a resource tracing facility (seems to be unused)
#define GST_DISABLE_ALLOC_TRACE 1
Configures the use of a memory tracer based on the resource tracer if TRACE is disabled, ALLOC_TRACE is disabled as well
#define GST_DISABLE_REGISTRY 1
Configures the use of the plugin registry. If one disables this, required plugins need to be loaded and registered manually