## gstconfig

gstconfig — Build configuration options

## Synopsis

    #include <gst/gst.h>

    #define             GST_DISABLE_GST_DEBUG
    #define             GST_DISABLE_LOADSAVE
    #define             GST_DISABLE_PARSE
    #define             GST_DISABLE_TRACE
    #define             GST_DISABLE_ALLOC_TRACE
    #define             GST_DISABLE_REGISTRY
    #define             GST_DISABLE_PLUGIN
    #define             GST_DISABLE_XML

## Description

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 suybsystem, 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 8. Doing subsystem specific things

    1
    2
    3

    #ifndef GST_DISABLE_GST_DEBUG
    // do stuff specific to the debugging subsystem
    #endif // GST_DISABLE_GST_DEBUG

## Details

### GST_DISABLE_GST_DEBUG

    #define GST_DISABLE_GST_DEBUG 1

Configures the inclusion of the debugging subsystem

### GST_DISABLE_LOADSAVE

    #define GST_DISABLE_LOADSAVE 1

Configures the inclusion of the plugin graph xml-serialisation (was used in 0.8 by gst-editor)

### GST_DISABLE_PARSE

    #define GST_DISABLE_PARSE 1

Configures the inclusion of the gst-lauch parser

### GST_DISABLE_TRACE

    #define GST_DISABLE_TRACE 1

Configures the inclusion of a resource tracing facillity (seems to be unused)

### GST_DISABLE_ALLOC_TRACE

    #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

### GST_DISABLE_REGISTRY

    #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

### GST_DISABLE_PLUGIN

    #define GST_DISABLE_PLUGIN 1

### GST_DISABLE_XML

    #define GST_DISABLE_XML 1

Configures the use libxml2. This setting is derived from the settings of `GST_DISABLE_LOADSAVE` and `GST_DISABLE_REGISTRY` (in the xml registry case).