# Debugging utilities

These utility functions help with generating dot graphs which can be rendered with graphviz to multiple formats.

## Functions

### gst_debug_bin_to_dot_data

    gchar *
    gst_debug_bin_to_dot_data (GstBin * bin,
                               GstDebugGraphDetails details)

To aid debugging applications one can use this method to obtain the whole network of gstreamer elements that form the pipeline into a dot file. This data can be processed with graphviz to get an image.

Parameters:

`bin` –

the top-level pipeline that should be analyzed

`details` –

type of GstDebugGraphDetails to use

Returns ( [transfer: full]) –

a string containing the pipeline in graphviz dot format.

### Gst.prototype.debug_bin_to_dot_data

    function Gst.prototype.debug_bin_to_dot_data(bin: Gst.Bin, details: Gst.DebugGraphDetails): {
        // javascript wrapper for 'gst_debug_bin_to_dot_data'
    }

To aid debugging applications one can use this method to obtain the whole network of gstreamer elements that form the pipeline into a dot file. This data can be processed with graphviz to get an image.

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

Returns (String) –

a string containing the pipeline in graphviz dot format.

### Gst.debug_bin_to_dot_data

    def Gst.debug_bin_to_dot_data (bin, details):
        #python wrapper for 'gst_debug_bin_to_dot_data'

To aid debugging applications one can use this method to obtain the whole network of gstreamer elements that form the pipeline into a dot file. This data can be processed with graphviz to get an image.

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

Returns (str) –

a string containing the pipeline in graphviz dot format.

### gst_debug_bin_to_dot_file

    gst_debug_bin_to_dot_file (GstBin * bin,
                               GstDebugGraphDetails details,
                               const gchar * file_name)

To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into a dot file. This file can be processed with graphviz to get an image.

     dot -Tpng -oimage.png graph_lowlevel.dot

Parameters:

`bin` –

the top-level pipeline that should be analyzed

`details` –

type of GstDebugGraphDetails to use

`file_name` ( [typefilename]) –

output base filename (e.g. "myplayer")

### Gst.prototype.debug_bin_to_dot_file

    function Gst.prototype.debug_bin_to_dot_file(bin: Gst.Bin, details: Gst.DebugGraphDetails, file_name: filename): {
        // javascript wrapper for 'gst_debug_bin_to_dot_file'
    }

To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into a dot file. This file can be processed with graphviz to get an image.

     dot -Tpng -oimage.png graph_lowlevel.dot

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

`file_name` (filename) –

output base filename (e.g. "myplayer")

### Gst.debug_bin_to_dot_file

    def Gst.debug_bin_to_dot_file (bin, details, file_name):
        #python wrapper for 'gst_debug_bin_to_dot_file'

To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into a dot file. This file can be processed with graphviz to get an image.

     dot -Tpng -oimage.png graph_lowlevel.dot

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

`file_name` (str) –

output base filename (e.g. "myplayer")

### gst_debug_bin_to_dot_file_with_ts

    gst_debug_bin_to_dot_file_with_ts (GstBin * bin,
                                       GstDebugGraphDetails details,
                                       const gchar * file_name)

This works like gst_debug_bin_to_dot_file, but adds the current timestamp to the filename, so that it can be used to take multiple snapshots.

Parameters:

`bin` –

the top-level pipeline that should be analyzed

`details` –

type of GstDebugGraphDetails to use

`file_name` ( [typefilename]) –

output base filename (e.g. "myplayer")

### Gst.prototype.debug_bin_to_dot_file_with_ts

    function Gst.prototype.debug_bin_to_dot_file_with_ts(bin: Gst.Bin, details: Gst.DebugGraphDetails, file_name: filename): {
        // javascript wrapper for 'gst_debug_bin_to_dot_file_with_ts'
    }

This works like Gst.prototype.debug_bin_to_dot_file, but adds the current timestamp to the filename, so that it can be used to take multiple snapshots.

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

`file_name` (filename) –

output base filename (e.g. "myplayer")

### Gst.debug_bin_to_dot_file_with_ts

    def Gst.debug_bin_to_dot_file_with_ts (bin, details, file_name):
        #python wrapper for 'gst_debug_bin_to_dot_file_with_ts'

This works like Gst.debug_bin_to_dot_file, but adds the current timestamp to the filename, so that it can be used to take multiple snapshots.

Parameters:

`bin` (Gst.Bin) –

the top-level pipeline that should be analyzed

`details` (Gst.DebugGraphDetails) –

type of Gst.DebugGraphDetails to use

`file_name` (str) –

output base filename (e.g. "myplayer")

## Function Macros

### GST_DEBUG_BIN_TO_DOT_FILE

    #define GST_DEBUG_BIN_TO_DOT_FILE(bin, details, file_name) gst_debug_bin_to_dot_file (bin, details, file_name)

To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into a dot file. This file can be processed with graphviz to get an image, like this:

    dot -Tpng -oimage.png graph_lowlevel.dot

There is also a utility called xdot which allows you to view the dot file directly without converting it first.

The macro is only active if the environment variable `GST_DEBUG_DUMP_DOT_DIR` is set to a basepath (e.g. `/tmp`), and the GStreamer debugging subsystem is enabled (i.e., no use of `./configure --disable-gst-debug`)

Parameters:

`bin` –

the top-level pipeline that should be analyzed

`details` –

details to show in the graph, e.g. GST_DEBUG_GRAPH_SHOW_ALL or one or more other GstDebugGraphDetails flags.

`file_name` –

output base filename (e.g. "myplayer")

### GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS

    #define GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(bin, details, file_name) gst_debug_bin_to_dot_file_with_ts (bin, details, file_name)

This works like GST_DEBUG_BIN_TO_DOT_FILE, but adds the current timestamp to the filename, so that it can be used to take multiple snapshots.

Parameters:

`bin` –

the top-level pipeline that should be analyzed

`details` –

details to show in the graph, e.g. GST_DEBUG_GRAPH_SHOW_ALL or one or more other GstDebugGraphDetails flags.

`file_name` –

output base filename (e.g. "myplayer")

## Enumerations

### GstDebugGraphDetails

Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS.

##### Members

`GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE` (1) –

show caps-name on edges

`GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS` (2) –

show caps-details on edges

`GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS` (4) –

show modified parameters on elements

`GST_DEBUG_GRAPH_SHOW_STATES` (8) –

show element states

`GST_DEBUG_GRAPH_SHOW_FULL_PARAMS` (16) –

show full element parameter values even if they are very long

`GST_DEBUG_GRAPH_SHOW_ALL` (15) –

show all the typical details that one might want

`GST_DEBUG_GRAPH_SHOW_VERBOSE` (4294967295) –

show all details regardless of how large or verbose they make the resulting output

### Gst.DebugGraphDetails

Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE (not introspectable) and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (not introspectable).

##### Members

`Gst.DebugGraphDetails.MEDIA_TYPE` (1) –

show caps-name on edges

`Gst.DebugGraphDetails.CAPS_DETAILS` (2) –

show caps-details on edges

`Gst.DebugGraphDetails.NON_DEFAULT_PARAMS` (4) –

show modified parameters on elements

`Gst.DebugGraphDetails.STATES` (8) –

show element states

`Gst.DebugGraphDetails.FULL_PARAMS` (16) –

show full element parameter values even if they are very long

`Gst.DebugGraphDetails.ALL` (15) –

show all the typical details that one might want

`Gst.DebugGraphDetails.VERBOSE` (4294967295) –

show all details regardless of how large or verbose they make the resulting output

### Gst.DebugGraphDetails

Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE (not introspectable) and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS (not introspectable).

##### Members

`Gst.DebugGraphDetails.MEDIA_TYPE` (1) –

show caps-name on edges

`Gst.DebugGraphDetails.CAPS_DETAILS` (2) –

show caps-details on edges

`Gst.DebugGraphDetails.NON_DEFAULT_PARAMS` (4) –

show modified parameters on elements

`Gst.DebugGraphDetails.STATES` (8) –

show element states

`Gst.DebugGraphDetails.FULL_PARAMS` (16) –

show full element parameter values even if they are very long

`Gst.DebugGraphDetails.ALL` (15) –

show all the typical details that one might want

`Gst.DebugGraphDetails.VERBOSE` (4294967295) –

show all details regardless of how large or verbose they make the resulting output

The results of the search are