# GstUtils

## Functions

### gst_calculate_linear_regression

    gboolean
    gst_calculate_linear_regression (const GstClockTime * xy,
                                     GstClockTime * temp,
                                     guint n,
                                     GstClockTime * m_num,
                                     GstClockTime * m_denom,
                                     GstClockTime * b,
                                     GstClockTime * xbase,
                                     gdouble * r_squared)

Calculates the linear regression of the values xy and places the result in m_num, m_denom, b and xbase, representing the function y(x) = m_num/m_denom * (x - xbase) + b that has the least-square distance from all points x and y.

r_squared will contain the remaining error.

If temp is not NULL, it will be used as temporary space for the function, in which case the function works without any allocation at all. If temp is NULL, an allocation will take place. temp should have at least the same amount of memory allocated as xy, i.e. 2nsizeof(GstClockTime).

> This function assumes (x,y) values with reasonable large differences between them. It will not calculate the exact results if the differences between neighbouring values are too small due to not being able to represent sub-integer values during the calculations.

Parameters:

`xy` ( [array]) –

Pairs of (x,y) values

`temp` ( [array][nullable]) –

Temporary scratch space used by the function

`n` –

number of (x,y) pairs

`m_num` ( [out]) –

numerator of calculated slope

`m_denom` ( [out]) –

denominator of calculated slope

`b` ( [out]) –

Offset at Y-axis

`xbase` ( [out]) –

Offset at X-axis

`r_squared` ( [out]) –

R-squared

Returns –

TRUE if the linear regression was successfully calculated

Since : 1.12

### gst_call_async

    gst_call_async (GstCallAsyncFunc func,
                    gpointer user_data)

Calls func from another thread and passes user_data to it.

Parameters:

`func` ( [scope async]) –

function to call asynchronously from another thread

`user_data` –

data to pass to func

Since : 1.28

### Gst.prototype.call_async

    function Gst.prototype.call_async(func: Gst.CallAsyncFunc, user_data: Object): {
        // javascript wrapper for 'gst_call_async'
    }

Calls func from another thread and passes user_data to it.

Parameters:

`func` (Gst.CallAsyncFunc) –

function to call asynchronously from another thread

`user_data` (Object) –

data to pass to func

Since : 1.28

### Gst.call_async

    def Gst.call_async (func, *user_data):
        #python wrapper for 'gst_call_async'

Calls func from another thread and passes user_data to it.

Parameters:

`func` (Gst.CallAsyncFunc) –

function to call asynchronously from another thread

`user_data` (variadic) –

data to pass to func

Since : 1.28

### gst_parse_bin_from_description

    GstElement *
    gst_parse_bin_from_description (const gchar * bin_description,
                                    gboolean ghost_unlinked_pads,
                                    GError ** error)

This is a convenience wrapper around gst_parse_launch to create a GstBin from a gst-launch-style pipeline description. See gst_parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` –

command line describing the bin

`ghost_unlinked_pads` –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

`error` –
No description available
Returns ( [transfer: floating][type Gst.Bin]) –

a newly-created bin, or NULL if an error occurred.

### Gst.prototype.parse_bin_from_description

    function Gst.prototype.parse_bin_from_description(bin_description: String, ghost_unlinked_pads: Number): {
        // javascript wrapper for 'gst_parse_bin_from_description'
    }

This is a convenience wrapper around Gst.prototype.parse_launch to create a Gst.Bin from a gst-launch-style pipeline description. See Gst.prototype.parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` (String) –

command line describing the bin

`ghost_unlinked_pads` (Number) –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

Returns (Gst.Bin) –

a newly-created bin, or null if an error occurred.

### Gst.parse_bin_from_description

    @raises(GLib.GError)
    def Gst.parse_bin_from_description (bin_description, ghost_unlinked_pads):
        #python wrapper for 'gst_parse_bin_from_description'

This is a convenience wrapper around Gst.parse_launch to create a Gst.Bin from a gst-launch-style pipeline description. See Gst.parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` (str) –

command line describing the bin

`ghost_unlinked_pads` (bool) –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

Returns (Gst.Bin) –

a newly-created bin, or None if an error occurred.

### gst_parse_bin_from_description_full

    GstElement *
    gst_parse_bin_from_description_full (const gchar * bin_description,
                                         gboolean ghost_unlinked_pads,
                                         GstParseContext * context,
                                         GstParseFlags flags,
                                         GError ** error)

This is a convenience wrapper around gst_parse_launch to create a GstBin from a gst-launch-style pipeline description. See gst_parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` –

command line describing the bin

`ghost_unlinked_pads` –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

`context` ( [transfer: none][nullable]) –

a parse context allocated with gst_parse_context_new, or NULL

`flags` –

parsing options, or GST_PARSE_FLAG_NONE

`error` –
No description available
Returns ( [transfer: floating][type Gst.Element]) –

a newly-created element, which is guaranteed to be a bin unless GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or NULL if an error occurred.

### Gst.prototype.parse_bin_from_description_full

    function Gst.prototype.parse_bin_from_description_full(bin_description: String, ghost_unlinked_pads: Number, context: Gst.ParseContext, flags: Gst.ParseFlags): {
        // javascript wrapper for 'gst_parse_bin_from_description_full'
    }

This is a convenience wrapper around Gst.prototype.parse_launch to create a Gst.Bin from a gst-launch-style pipeline description. See Gst.prototype.parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` (String) –

command line describing the bin

`ghost_unlinked_pads` (Number) –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

`context` (Gst.ParseContext) –

a parse context allocated with Gst.ParseContext.prototype.new, or null

`flags` (Gst.ParseFlags) –

parsing options, or Gst.ParseFlags.NONE

Returns (Gst.Element) –

a newly-created element, which is guaranteed to be a bin unless Gst.ParseFlags.NO_SINGLE_ELEMENT_BINS was passed, or null if an error occurred.

### Gst.parse_bin_from_description_full

    @raises(GLib.GError)
    def Gst.parse_bin_from_description_full (bin_description, ghost_unlinked_pads, context, flags):
        #python wrapper for 'gst_parse_bin_from_description_full'

This is a convenience wrapper around Gst.parse_launch to create a Gst.Bin from a gst-launch-style pipeline description. See Gst.parse_launch and the gst-launch man page for details about the syntax. Ghost pads on the bin for unlinked source or sink pads within the bin can automatically be created (but only a maximum of one ghost pad for each direction will be created; if you expect multiple unlinked source pads or multiple unlinked sink pads and want them all ghosted, you will have to create the ghost pads yourself).

Parameters:

`bin_description` (str) –

command line describing the bin

`ghost_unlinked_pads` (bool) –

whether to automatically create ghost pads for unlinked source or sink pads within the bin

`context` (Gst.ParseContext) –

a parse context allocated with Gst.ParseContext.new, or None

`flags` (Gst.ParseFlags) –

parsing options, or Gst.ParseFlags.NONE

Returns (Gst.Element) –

a newly-created element, which is guaranteed to be a bin unless Gst.ParseFlags.NO_SINGLE_ELEMENT_BINS was passed, or None if an error occurred.

### gst_state_change_get_name

    const gchar *
    gst_state_change_get_name (GstStateChange transition)

Gets a string representing the given state transition.

Parameters:

`transition` –

a GstStateChange to get the name of.

Returns ( [transfer: none]) –

a string with the name of the state result.

Since : 1.14

### Gst.prototype.state_change_get_name

    function Gst.prototype.state_change_get_name(transition: Gst.StateChange): {
        // javascript wrapper for 'gst_state_change_get_name'
    }

Gets a string representing the given state transition.

Parameters:

`transition` (Gst.StateChange) –

a Gst.StateChange to get the name of.

Returns (String) –

a string with the name of the state result.

Since : 1.14

### Gst.state_change_get_name

    def Gst.state_change_get_name (transition):
        #python wrapper for 'gst_state_change_get_name'

Gets a string representing the given state transition.

Parameters:

`transition` (Gst.StateChange) –

a Gst.StateChange to get the name of.

Returns (str) –

a string with the name of the state result.

Since : 1.14

### gst_state_change_return_get_name

    const gchar *
    gst_state_change_return_get_name (GstStateChangeReturn state_ret)

Gets a string representing the given state change result.

Parameters:

`state_ret` –

a GstStateChangeReturn to get the name of.

Returns ( [transfer: none]) –

a string with the name of the state result.

Since : 1.28

### Gst.prototype.state_change_return_get_name

    function Gst.prototype.state_change_return_get_name(state_ret: Gst.StateChangeReturn): {
        // javascript wrapper for 'gst_state_change_return_get_name'
    }

Gets a string representing the given state change result.

Parameters:

`state_ret` (Gst.StateChangeReturn) –

a Gst.StateChangeReturn to get the name of.

Returns (String) –

a string with the name of the state result.

Since : 1.28

### Gst.state_change_return_get_name

    def Gst.state_change_return_get_name (state_ret):
        #python wrapper for 'gst_state_change_return_get_name'

Gets a string representing the given state change result.

Parameters:

`state_ret` (Gst.StateChangeReturn) –

a Gst.StateChangeReturn to get the name of.

Returns (str) –

a string with the name of the state result.

Since : 1.28

### gst_state_get_name

    const gchar *
    gst_state_get_name (GstState state)

Gets a string representing the given state.

Parameters:

`state` –

a GstState to get the name of.

Returns ( [transfer: none]) –

a string with the name of the state.

Since : 1.28

### Gst.prototype.state_get_name

    function Gst.prototype.state_get_name(state: Gst.State): {
        // javascript wrapper for 'gst_state_get_name'
    }

Gets a string representing the given state.

Parameters:

`state` (Gst.State) –

a Gst.State to get the name of.

Returns (String) –

a string with the name of the state.

Since : 1.28

### Gst.state_get_name

    def Gst.state_get_name (state):
        #python wrapper for 'gst_state_get_name'

Gets a string representing the given state.

Parameters:

`state` (Gst.State) –

a Gst.State to get the name of.

Returns (str) –

a string with the name of the state.

Since : 1.28

### gst_type_is_plugin_api

    gboolean
    gst_type_is_plugin_api (GType type,
                            GstPluginAPIFlags * flags)

Checks if type is plugin API. See gst_type_mark_as_plugin_api for details.

Parameters:

`type` –

a GType

`flags` ( [out][optional]) –

What GstPluginAPIFlags the plugin was marked with

Returns –

TRUE if type is plugin API or FALSE otherwise.

Since : 1.18

### Gst.prototype.type_is_plugin_api

    function Gst.prototype.type_is_plugin_api(type: GObject.Type): {
        // javascript wrapper for 'gst_type_is_plugin_api'
    }

Checks if type is plugin API. See Gst.prototype.type_mark_as_plugin_api for details.

Parameters:

`type` (GObject.Type) –

a GType

Returns a tuple made of:

(Number ) –

true if type is plugin API or false otherwise.

`flags` (Gst.PluginAPIFlags ) –

true if type is plugin API or false otherwise.

Since : 1.18

### Gst.type_is_plugin_api

    def Gst.type_is_plugin_api (type):
        #python wrapper for 'gst_type_is_plugin_api'

Checks if type is plugin API. See Gst.type_mark_as_plugin_api for details.

Parameters:

`type` (GObject.Type) –

a GType

Returns a tuple made of:

(bool ) –

True if type is plugin API or False otherwise.

`flags` (Gst.PluginAPIFlags ) –

True if type is plugin API or False otherwise.

Since : 1.18

### gst_type_mark_as_plugin_api

    gst_type_mark_as_plugin_api (GType type,
                                 GstPluginAPIFlags flags)

Marks type as plugin API. This should be called in `class_init` of elements that expose new types (i.e. enums, flags or internal GObjects) via properties, signals or pad templates.

Types exposed by plugins are not automatically added to the documentation as they might originate from another library and should in that case be documented via that library instead.

By marking a type as plugin API it will be included in the documentation of the plugin that defines it.

Parameters:

`type` –

a GType

`flags` –

a set of GstPluginAPIFlags to further inform cache generation.

Since : 1.18

### Gst.prototype.type_mark_as_plugin_api

    function Gst.prototype.type_mark_as_plugin_api(type: GObject.Type, flags: Gst.PluginAPIFlags): {
        // javascript wrapper for 'gst_type_mark_as_plugin_api'
    }

Marks type as plugin API. This should be called in `class_init` of elements that expose new types (i.e. enums, flags or internal GObjects) via properties, signals or pad templates.

Types exposed by plugins are not automatically added to the documentation as they might originate from another library and should in that case be documented via that library instead.

By marking a type as plugin API it will be included in the documentation of the plugin that defines it.

Parameters:

`type` (GObject.Type) –

a GType

`flags` (Gst.PluginAPIFlags) –

a set of Gst.PluginAPIFlags to further inform cache generation.

Since : 1.18

### Gst.type_mark_as_plugin_api

    def Gst.type_mark_as_plugin_api (type, flags):
        #python wrapper for 'gst_type_mark_as_plugin_api'

Marks type as plugin API. This should be called in `class_init` of elements that expose new types (i.e. enums, flags or internal GObjects) via properties, signals or pad templates.

Types exposed by plugins are not automatically added to the documentation as they might originate from another library and should in that case be documented via that library instead.

By marking a type as plugin API it will be included in the documentation of the plugin that defines it.

Parameters:

`type` (GObject.Type) –

a GType

`flags` (Gst.PluginAPIFlags) –

a set of Gst.PluginAPIFlags to further inform cache generation.

Since : 1.18

### gst_util_array_binary_search

    gpointer
    gst_util_array_binary_search (gpointer array,
                                  guint num_elements,
                                  gsize element_size,
                                  GCompareDataFunc search_func,
                                  GstSearchMode mode,
                                  gconstpointer search_data,
                                  gpointer user_data)

Searches inside array for search_data by using the comparison function search_func. array must be sorted ascending.

As search_data is always passed as second argument to search_func it's not required that search_data has the same type as the array elements.

The complexity of this search function is O(log (num_elements)).

Parameters:

`array` –

the sorted input array

`num_elements` –

number of elements in the array

`element_size` –

size of every element in bytes

`search_func` ( [scope call][closure]) –

function to compare two elements, search_data will always be passed as second argument

`mode` –

search mode that should be used

`search_data` –

element that should be found

`user_data` –

data to pass to search_func

Returns ( [transfer: none][nullable]) –

The address of the found element or NULL if nothing was found

### Gst.prototype.util_array_binary_search

    function Gst.prototype.util_array_binary_search(array: Object, num_elements: Number, element_size: Number, search_func: GLib.CompareDataFunc, mode: Gst.SearchMode, search_data: Object, user_data: Object): {
        // javascript wrapper for 'gst_util_array_binary_search'
    }

Searches inside array for search_data by using the comparison function search_func. array must be sorted ascending.

As search_data is always passed as second argument to search_func it's not required that search_data has the same type as the array elements.

The complexity of this search function is O(log (num_elements)).

Parameters:

`array` (Object) –

the sorted input array

`num_elements` (Number) –

number of elements in the array

`element_size` (Number) –

size of every element in bytes

`search_func` (GLib.CompareDataFunc) –

function to compare two elements, search_data will always be passed as second argument

`mode` (Gst.SearchMode) –

search mode that should be used

`search_data` (Object) –

element that should be found

`user_data` (Object) –

data to pass to search_func

Returns (Object) –

The address of the found element or null if nothing was found

### Gst.util_array_binary_search

    def Gst.util_array_binary_search (array, num_elements, element_size, search_func, mode, search_data, *user_data):
        #python wrapper for 'gst_util_array_binary_search'

Searches inside array for search_data by using the comparison function search_func. array must be sorted ascending.

As search_data is always passed as second argument to search_func it's not required that search_data has the same type as the array elements.

The complexity of this search function is O(log (num_elements)).

Parameters:

`array` (object) –

the sorted input array

`num_elements` (int) –

number of elements in the array

`element_size` (int) –

size of every element in bytes

`search_func` (GLib.CompareDataFunc) –

function to compare two elements, search_data will always be passed as second argument

`mode` (Gst.SearchMode) –

search mode that should be used

`search_data` (object) –

element that should be found

`user_data` (variadic) –

data to pass to search_func

Returns (object) –

The address of the found element or None if nothing was found

### gst_util_ceil_log2

    guint
    gst_util_ceil_log2 (guint32 v)

Returns smallest integral value not less than log2(v).

Parameters:

`v` –

a guint32 value.

Returns –

a computed guint val.

Since : 1.24

### Gst.prototype.util_ceil_log2

    function Gst.prototype.util_ceil_log2(v: Number): {
        // javascript wrapper for 'gst_util_ceil_log2'
    }

Returns smallest integral value not less than log2(v).

Parameters:

`v` (Number) –

a Number value.

Returns (Number) –

a computed Number val.

Since : 1.24

### Gst.util_ceil_log2

    def Gst.util_ceil_log2 (v):
        #python wrapper for 'gst_util_ceil_log2'

Returns smallest integral value not less than log2(v).

Parameters:

`v` (int) –

a int value.

Returns (int) –

a computed int val.

Since : 1.24

### gst_util_double_to_fraction

    gst_util_double_to_fraction (gdouble src,
                                 gint * dest_n,
                                 gint * dest_d)

Transforms a gdouble to a fraction and simplifies the result.

Parameters:

`src` –

gdouble to transform

`dest_n` ( [out]) –

pointer to a gint to hold the result numerator

`dest_d` ( [out]) –

pointer to a gint to hold the result denominator

### Gst.prototype.util_double_to_fraction

    function Gst.prototype.util_double_to_fraction(src: Number): {
        // javascript wrapper for 'gst_util_double_to_fraction'
    }

Transforms a Number to a fraction and simplifies the result.

Parameters:

`src` (Number) –

Number to transform

### Gst.util_double_to_fraction

    def Gst.util_double_to_fraction (src):
        #python wrapper for 'gst_util_double_to_fraction'

Transforms a float to a fraction and simplifies the result.

Parameters:

`src` (float) –

float to transform

### gst_util_dump_buffer

    gst_util_dump_buffer (GstBuffer * buf)

Dumps the buffer memory into a hex representation. Useful for debugging.

Parameters:

`buf` –

a GstBuffer whose memory to dump

Since : 1.14

### Gst.prototype.util_dump_buffer

    function Gst.prototype.util_dump_buffer(buf: Gst.Buffer): {
        // javascript wrapper for 'gst_util_dump_buffer'
    }

Dumps the buffer memory into a hex representation. Useful for debugging.

Parameters:

`buf` (Gst.Buffer) –

a Gst.Buffer whose memory to dump

Since : 1.14

### Gst.util_dump_buffer

    def Gst.util_dump_buffer (buf):
        #python wrapper for 'gst_util_dump_buffer'

Dumps the buffer memory into a hex representation. Useful for debugging.

Parameters:

`buf` (Gst.Buffer) –

a Gst.Buffer whose memory to dump

Since : 1.14

### gst_util_dump_mem

    gst_util_dump_mem (const guchar * mem,
                       guint size)

Dumps the memory block into a hex representation. Useful for debugging.

Parameters:

`mem` ( [array length=size]) –

a pointer to the memory to dump

`size` –

the size of the memory block to dump

### Gst.prototype.util_dump_mem

    function Gst.prototype.util_dump_mem(mem: [ Number ], size: Number): {
        // javascript wrapper for 'gst_util_dump_mem'
    }

Dumps the memory block into a hex representation. Useful for debugging.

Parameters:

`mem` ([ Number ]) –

a pointer to the memory to dump

`size` (Number) –

the size of the memory block to dump

### Gst.util_dump_mem

    def Gst.util_dump_mem (mem, size):
        #python wrapper for 'gst_util_dump_mem'

Dumps the memory block into a hex representation. Useful for debugging.

Parameters:

`mem` ([ int ]) –

a pointer to the memory to dump

`size` (int) –

the size of the memory block to dump

### gst_util_filename_compare

    gint
    gst_util_filename_compare (const gchar * a,
                               const gchar * b)

Compares the given filenames using natural ordering.

Parameters:

`a` ( [type filename]) –

a filename to compare with b

`b` ( [type filename]) –

a filename to compare with a

Returns –
No description available

Since : 1.24

### Gst.prototype.util_filename_compare

    function Gst.prototype.util_filename_compare(a: filename, b: filename): {
        // javascript wrapper for 'gst_util_filename_compare'
    }

Compares the given filenames using natural ordering.

Parameters:

`a` (filename) –

a filename to compare with b

`b` (filename) –

a filename to compare with a

Returns (Number) –
No description available

Since : 1.24

### Gst.util_filename_compare

    def Gst.util_filename_compare (a, b):
        #python wrapper for 'gst_util_filename_compare'

Compares the given filenames using natural ordering.

Parameters:

`a` (str) –

a filename to compare with b

`b` (str) –

a filename to compare with a

Returns (int) –
No description available

Since : 1.24

### gst_util_floor_log2

    guint
    gst_util_floor_log2 (guint32 v)

Returns smallest integral value not bigger than log2(v).

Parameters:

`v` –

a guint32 value.

Returns –

a computed guint val.

Since : 1.26

### Gst.prototype.util_floor_log2

    function Gst.prototype.util_floor_log2(v: Number): {
        // javascript wrapper for 'gst_util_floor_log2'
    }

Returns smallest integral value not bigger than log2(v).

Parameters:

`v` (Number) –

a Number value.

Returns (Number) –

a computed Number val.

Since : 1.26

### Gst.util_floor_log2

    def Gst.util_floor_log2 (v):
        #python wrapper for 'gst_util_floor_log2'

Returns smallest integral value not bigger than log2(v).

Parameters:

`v` (int) –

a int value.

Returns (int) –

a computed int val.

Since : 1.26

### gst_util_fraction_add

    gboolean
    gst_util_fraction_add (gint a_n,
                           gint a_d,
                           gint b_n,
                           gint b_d,
                           gint * res_n,
                           gint * res_d)

Adds the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` –

Numerator of first value

`a_d` –

Denominator of first value

`b_n` –

Numerator of second value

`b_d` –

Denominator of second value

`res_n` ( [out]) –

Pointer to gint to hold the result numerator

`res_d` ( [out]) –

Pointer to gint to hold the result denominator

Returns –

FALSE on overflow, TRUE otherwise.

### Gst.prototype.util_fraction_add

    function Gst.prototype.util_fraction_add(a_n: Number, a_d: Number, b_n: Number, b_d: Number): {
        // javascript wrapper for 'gst_util_fraction_add'
    }

Adds the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (Number) –

Numerator of first value

`a_d` (Number) –

Denominator of first value

`b_n` (Number) –

Numerator of second value

`b_d` (Number) –

Denominator of second value

Returns a tuple made of:

(Number ) –

false on overflow, true otherwise.

`res_n` (Number ) –

false on overflow, true otherwise.

`res_d` (Number ) –

false on overflow, true otherwise.

### Gst.util_fraction_add

    def Gst.util_fraction_add (a_n, a_d, b_n, b_d):
        #python wrapper for 'gst_util_fraction_add'

Adds the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (int) –

Numerator of first value

`a_d` (int) –

Denominator of first value

`b_n` (int) –

Numerator of second value

`b_d` (int) –

Denominator of second value

Returns a tuple made of:

(bool ) –

False on overflow, True otherwise.

`res_n` (int ) –

False on overflow, True otherwise.

`res_d` (int ) –

False on overflow, True otherwise.

### gst_util_fraction_compare

    gint
    gst_util_fraction_compare (gint a_n,
                               gint a_d,
                               gint b_n,
                               gint b_d)

Compares the fractions a_n/@a_d and b_n/@b_d and returns -1 if a < b, 0 if a = b and 1 if a > b.

Parameters:

`a_n` –

Numerator of first value

`a_d` –

Denominator of first value

`b_n` –

Numerator of second value

`b_d` –

Denominator of second value

Returns –

-1 if a < b; 0 if a = b; 1 if a > b.

### Gst.prototype.util_fraction_compare

    function Gst.prototype.util_fraction_compare(a_n: Number, a_d: Number, b_n: Number, b_d: Number): {
        // javascript wrapper for 'gst_util_fraction_compare'
    }

Compares the fractions a_n/@a_d and b_n/@b_d and returns -1 if a < b, 0 if a = b and 1 if a > b.

Parameters:

`a_n` (Number) –

Numerator of first value

`a_d` (Number) –

Denominator of first value

`b_n` (Number) –

Numerator of second value

`b_d` (Number) –

Denominator of second value

Returns (Number) –

-1 if a < b; 0 if a = b; 1 if a > b.

### Gst.util_fraction_compare

    def Gst.util_fraction_compare (a_n, a_d, b_n, b_d):
        #python wrapper for 'gst_util_fraction_compare'

Compares the fractions a_n/@a_d and b_n/@b_d and returns -1 if a < b, 0 if a = b and 1 if a > b.

Parameters:

`a_n` (int) –

Numerator of first value

`a_d` (int) –

Denominator of first value

`b_n` (int) –

Numerator of second value

`b_d` (int) –

Denominator of second value

Returns (int) –

-1 if a < b; 0 if a = b; 1 if a > b.

### gst_util_fraction_multiply

    gboolean
    gst_util_fraction_multiply (gint a_n,
                                gint a_d,
                                gint b_n,
                                gint b_d,
                                gint * res_n,
                                gint * res_d)

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` –

Numerator of first value

`a_d` –

Denominator of first value

`b_n` –

Numerator of second value

`b_d` –

Denominator of second value

`res_n` ( [out]) –

Pointer to gint to hold the result numerator

`res_d` ( [out]) –

Pointer to gint to hold the result denominator

Returns –

FALSE on overflow, TRUE otherwise.

### Gst.prototype.util_fraction_multiply

    function Gst.prototype.util_fraction_multiply(a_n: Number, a_d: Number, b_n: Number, b_d: Number): {
        // javascript wrapper for 'gst_util_fraction_multiply'
    }

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (Number) –

Numerator of first value

`a_d` (Number) –

Denominator of first value

`b_n` (Number) –

Numerator of second value

`b_d` (Number) –

Denominator of second value

Returns a tuple made of:

(Number ) –

false on overflow, true otherwise.

`res_n` (Number ) –

false on overflow, true otherwise.

`res_d` (Number ) –

false on overflow, true otherwise.

### Gst.util_fraction_multiply

    def Gst.util_fraction_multiply (a_n, a_d, b_n, b_d):
        #python wrapper for 'gst_util_fraction_multiply'

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (int) –

Numerator of first value

`a_d` (int) –

Denominator of first value

`b_n` (int) –

Numerator of second value

`b_d` (int) –

Denominator of second value

Returns a tuple made of:

(bool ) –

False on overflow, True otherwise.

`res_n` (int ) –

False on overflow, True otherwise.

`res_d` (int ) –

False on overflow, True otherwise.

### gst_util_fraction_multiply_int64

    gboolean
    gst_util_fraction_multiply_int64 (gint64 a_n,
                                      gint64 a_d,
                                      gint64 b_n,
                                      gint64 b_d,
                                      gint64 * res_n,
                                      gint64 * res_d)

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` –

Numerator of first value

`a_d` –

Denominator of first value

`b_n` –

Numerator of second value

`b_d` –

Denominator of second value

`res_n` ( [out]) –

Pointer to gint to hold the result numerator

`res_d` ( [out]) –

Pointer to gint to hold the result denominator

Returns –

FALSE on overflow, TRUE otherwise.

Since : 1.26

### Gst.prototype.util_fraction_multiply_int64

    function Gst.prototype.util_fraction_multiply_int64(a_n: Number, a_d: Number, b_n: Number, b_d: Number): {
        // javascript wrapper for 'gst_util_fraction_multiply_int64'
    }

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (Number) –

Numerator of first value

`a_d` (Number) –

Denominator of first value

`b_n` (Number) –

Numerator of second value

`b_d` (Number) –

Denominator of second value

Returns a tuple made of:

(Number ) –

false on overflow, true otherwise.

`res_n` (Number ) –

false on overflow, true otherwise.

`res_d` (Number ) –

false on overflow, true otherwise.

Since : 1.26

### Gst.util_fraction_multiply_int64

    def Gst.util_fraction_multiply_int64 (a_n, a_d, b_n, b_d):
        #python wrapper for 'gst_util_fraction_multiply_int64'

Multiplies the fractions a_n/@a_d and b_n/@b_d and stores the result in res_n and res_d.

Parameters:

`a_n` (int) –

Numerator of first value

`a_d` (int) –

Denominator of first value

`b_n` (int) –

Numerator of second value

`b_d` (int) –

Denominator of second value

Returns a tuple made of:

(bool ) –

False on overflow, True otherwise.

`res_n` (int ) –

False on overflow, True otherwise.

`res_d` (int ) –

False on overflow, True otherwise.

Since : 1.26

### gst_util_fraction_to_double

    gst_util_fraction_to_double (gint src_n,
                                 gint src_d,
                                 gdouble * dest)

Transforms a fraction to a gdouble.

Parameters:

`src_n` –

Fraction numerator as gint

`src_d` –

Fraction denominator gint

`dest` ( [out]) –

pointer to a gdouble for the result

### Gst.prototype.util_fraction_to_double

    function Gst.prototype.util_fraction_to_double(src_n: Number, src_d: Number): {
        // javascript wrapper for 'gst_util_fraction_to_double'
    }

Transforms a fraction to a Number.

Parameters:

`src_n` (Number) –

Fraction numerator as Number

`src_d` (Number) –

Fraction denominator Number

### Gst.util_fraction_to_double

    def Gst.util_fraction_to_double (src_n, src_d):
        #python wrapper for 'gst_util_fraction_to_double'

Transforms a fraction to a float.

Parameters:

`src_n` (int) –

Fraction numerator as int

`src_d` (int) –

Fraction denominator int

### gst_util_gdouble_to_guint64

    guint64
    gst_util_gdouble_to_guint64 (gdouble value)

Parameters:

`value` –

The gdouble value to convert guint64 double

Returns –

value casted to guint64

### Gst.prototype.util_gdouble_to_guint64

    function Gst.prototype.util_gdouble_to_guint64(value: Number): {
        // javascript wrapper for 'gst_util_gdouble_to_guint64'
    }

Parameters:

`value` (Number) –

The Number value to convert guint64 double

Returns (Number) –

value casted to Number

### Gst.util_gdouble_to_guint64

    def Gst.util_gdouble_to_guint64 (value):
        #python wrapper for 'gst_util_gdouble_to_guint64'

Parameters:

`value` (float) –

The float value to convert guint64 double

Returns (int) –

value casted to int

### gst_util_get_object_array

    gboolean
    gst_util_get_object_array (GObject * object,
                               const gchar * name,
                               GValueArray ** array)

Get a property of type GST_TYPE_ARRAY and transform it into a GValueArray. This allow language bindings to get GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` –

the object to set the array to

`name` –

the name of the property to set

`array` ( [out]) –

a return GValueArray

Returns –
No description available

Since : 1.12

### Gst.prototype.util_get_object_array

    function Gst.prototype.util_get_object_array(object: GObject.Object, name: String): {
        // javascript wrapper for 'gst_util_get_object_array'
    }

Get a property of type GST_TYPE_ARRAY (not introspectable) and transform it into a GObject.ValueArray. This allow language bindings to get GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` (GObject.Object) –

the object to set the array to

`name` (String) –

the name of the property to set

Returns a tuple made of:

(Number ) –
No description available
`array` (GObject.ValueArray ) –
No description available

Since : 1.12

### Gst.util_get_object_array

    def Gst.util_get_object_array (object, name):
        #python wrapper for 'gst_util_get_object_array'

Get a property of type GST_TYPE_ARRAY (not introspectable) and transform it into a GObject.ValueArray. This allow language bindings to get GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` (GObject.Object) –

the object to set the array to

`name` (str) –

the name of the property to set

Returns a tuple made of:

(bool ) –
No description available
`array` (GObject.ValueArray ) –
No description available

Since : 1.12

### gst_util_get_timestamp

    GstClockTime
    gst_util_get_timestamp ()

Get a timestamp as GstClockTime to be used for interval measurements. The timestamp should not be interpreted in any other way.

Returns –

the timestamp

### Gst.prototype.util_get_timestamp

    function Gst.prototype.util_get_timestamp(): {
        // javascript wrapper for 'gst_util_get_timestamp'
    }

Get a timestamp as GstClockTime to be used for interval measurements. The timestamp should not be interpreted in any other way.

Returns (Number) –

the timestamp

### Gst.util_get_timestamp

    def Gst.util_get_timestamp ():
        #python wrapper for 'gst_util_get_timestamp'

Get a timestamp as GstClockTime to be used for interval measurements. The timestamp should not be interpreted in any other way.

Returns (int) –

the timestamp

### gst_util_greatest_common_divisor

    gint
    gst_util_greatest_common_divisor (gint a,
                                      gint b)

Calculates the greatest common divisor of a and b.

Parameters:

`a` –

First value as gint

`b` –

Second value as gint

Returns –

Greatest common divisor of a and b

### Gst.prototype.util_greatest_common_divisor

    function Gst.prototype.util_greatest_common_divisor(a: Number, b: Number): {
        // javascript wrapper for 'gst_util_greatest_common_divisor'
    }

Calculates the greatest common divisor of a and b.

Parameters:

`a` (Number) –

First value as Number

`b` (Number) –

Second value as Number

Returns (Number) –

Greatest common divisor of a and b

### Gst.util_greatest_common_divisor

    def Gst.util_greatest_common_divisor (a, b):
        #python wrapper for 'gst_util_greatest_common_divisor'

Calculates the greatest common divisor of a and b.

Parameters:

`a` (int) –

First value as int

`b` (int) –

Second value as int

Returns (int) –

Greatest common divisor of a and b

### gst_util_greatest_common_divisor_int64

    gint64
    gst_util_greatest_common_divisor_int64 (gint64 a,
                                            gint64 b)

Calculates the greatest common divisor of a and b.

Parameters:

`a` –

First value as gint64

`b` –

Second value as gint64

Returns –

Greatest common divisor of a and b

### Gst.prototype.util_greatest_common_divisor_int64

    function Gst.prototype.util_greatest_common_divisor_int64(a: Number, b: Number): {
        // javascript wrapper for 'gst_util_greatest_common_divisor_int64'
    }

Calculates the greatest common divisor of a and b.

Parameters:

`a` (Number) –

First value as Number

`b` (Number) –

Second value as Number

Returns (Number) –

Greatest common divisor of a and b

### Gst.util_greatest_common_divisor_int64

    def Gst.util_greatest_common_divisor_int64 (a, b):
        #python wrapper for 'gst_util_greatest_common_divisor_int64'

Calculates the greatest common divisor of a and b.

Parameters:

`a` (int) –

First value as int

`b` (int) –

Second value as int

Returns (int) –

Greatest common divisor of a and b

### gst_util_group_id_next

    guint
    gst_util_group_id_next ()

Return a constantly incrementing group id.

This function is used to generate a new group-id for the stream-start event.

This function never returns GST_GROUP_ID_INVALID (which is 0)

Returns –

A constantly incrementing unsigned integer, which might overflow back to 0 at some point.

### Gst.prototype.util_group_id_next

    function Gst.prototype.util_group_id_next(): {
        // javascript wrapper for 'gst_util_group_id_next'
    }

Return a constantly incrementing group id.

This function is used to generate a new group-id for the stream-start event.

This function never returns Gst.GROUP_ID_INVALID (which is 0)

Returns (Number) –

A constantly incrementing unsigned integer, which might overflow back to 0 at some point.

### Gst.util_group_id_next

    def Gst.util_group_id_next ():
        #python wrapper for 'gst_util_group_id_next'

Return a constantly incrementing group id.

This function is used to generate a new group-id for the stream-start event.

This function never returns Gst.GROUP_ID_INVALID (which is 0)

Returns (int) –

A constantly incrementing unsigned integer, which might overflow back to 0 at some point.

### gst_util_guint64_to_gdouble

    gdouble
    gst_util_guint64_to_gdouble (guint64 value)

Parameters:

`value` –

The guint64 value to convert to double

Returns –

value casted to gdouble

### Gst.prototype.util_guint64_to_gdouble

    function Gst.prototype.util_guint64_to_gdouble(value: Number): {
        // javascript wrapper for 'gst_util_guint64_to_gdouble'
    }

Parameters:

`value` (Number) –

The Number value to convert to double

Returns (Number) –

value casted to Number

### Gst.util_guint64_to_gdouble

    def Gst.util_guint64_to_gdouble (value):
        #python wrapper for 'gst_util_guint64_to_gdouble'

Parameters:

`value` (int) –

The int value to convert to double

Returns (float) –

value casted to float

### gst_util_seqnum_compare

    gint32
    gst_util_seqnum_compare (guint32 s1,
                             guint32 s2)

Compare two sequence numbers, handling wraparound.

The current implementation just returns (gint32)(@s1 - s2).

Parameters:

`s1` –

A sequence number.

`s2` –

Another sequence number.

Returns –

A negative number if s1 is before s2, 0 if they are equal, or a positive number if s1 is after s2.

### Gst.prototype.util_seqnum_compare

    function Gst.prototype.util_seqnum_compare(s1: Number, s2: Number): {
        // javascript wrapper for 'gst_util_seqnum_compare'
    }

Compare two sequence numbers, handling wraparound.

The current implementation just returns (gint32)(@s1 - s2).

Parameters:

`s1` (Number) –

A sequence number.

`s2` (Number) –

Another sequence number.

Returns (Number) –

A negative number if s1 is before s2, 0 if they are equal, or a positive number if s1 is after s2.

### Gst.util_seqnum_compare

    def Gst.util_seqnum_compare (s1, s2):
        #python wrapper for 'gst_util_seqnum_compare'

Compare two sequence numbers, handling wraparound.

The current implementation just returns (gint32)(@s1 - s2).

Parameters:

`s1` (int) –

A sequence number.

`s2` (int) –

Another sequence number.

Returns (int) –

A negative number if s1 is before s2, 0 if they are equal, or a positive number if s1 is after s2.

### gst_util_seqnum_next

    guint32
    gst_util_seqnum_next ()

Return a constantly incrementing sequence number.

This function is used internally to GStreamer to be able to determine which events and messages are "the same". For example, elements may set the seqnum on a segment-done message to be the same as that of the last seek event, to indicate that event and the message correspond to the same segment.

This function never returns GST_SEQNUM_INVALID (which is 0).

Returns –

A constantly incrementing 32-bit unsigned integer, which might overflow at some point. Use gst_util_seqnum_compare to make sure you handle wraparound correctly.

### Gst.prototype.util_seqnum_next

    function Gst.prototype.util_seqnum_next(): {
        // javascript wrapper for 'gst_util_seqnum_next'
    }

Return a constantly incrementing sequence number.

This function is used internally to GStreamer to be able to determine which events and messages are "the same". For example, elements may set the seqnum on a segment-done message to be the same as that of the last seek event, to indicate that event and the message correspond to the same segment.

This function never returns Gst.SEQNUM_INVALID (which is 0).

Returns (Number) –

A constantly incrementing 32-bit unsigned integer, which might overflow at some point. Use Gst.prototype.util_seqnum_compare to make sure you handle wraparound correctly.

### Gst.util_seqnum_next

    def Gst.util_seqnum_next ():
        #python wrapper for 'gst_util_seqnum_next'

Return a constantly incrementing sequence number.

This function is used internally to GStreamer to be able to determine which events and messages are "the same". For example, elements may set the seqnum on a segment-done message to be the same as that of the last seek event, to indicate that event and the message correspond to the same segment.

This function never returns Gst.SEQNUM_INVALID (which is 0).

Returns (int) –

A constantly incrementing 32-bit unsigned integer, which might overflow at some point. Use Gst.util_seqnum_compare to make sure you handle wraparound correctly.

### gst_util_set_object_arg

    gst_util_set_object_arg (GObject * object,
                             const gchar * name,
                             const gchar * value)

Converts the string value to the type of the objects argument and sets the argument with it.

Note that this function silently returns if object has no property named name or when value cannot be converted to the type of the property.

Parameters:

`object` –

the object to set the argument of

`name` –

the name of the argument to set

`value` –

the string value to set

### Gst.prototype.util_set_object_arg

    function Gst.prototype.util_set_object_arg(object: GObject.Object, name: String, value: String): {
        // javascript wrapper for 'gst_util_set_object_arg'
    }

Converts the string value to the type of the objects argument and sets the argument with it.

Note that this function silently returns if object has no property named name or when value cannot be converted to the type of the property.

Parameters:

`object` (GObject.Object) –

the object to set the argument of

`name` (String) –

the name of the argument to set

`value` (String) –

the string value to set

### Gst.util_set_object_arg

    def Gst.util_set_object_arg (object, name, value):
        #python wrapper for 'gst_util_set_object_arg'

Converts the string value to the type of the objects argument and sets the argument with it.

Note that this function silently returns if object has no property named name or when value cannot be converted to the type of the property.

Parameters:

`object` (GObject.Object) –

the object to set the argument of

`name` (str) –

the name of the argument to set

`value` (str) –

the string value to set

### gst_util_set_object_array

    gboolean
    gst_util_set_object_array (GObject * object,
                               const gchar * name,
                               const GValueArray * array)

Transfer a GValueArray to GST_TYPE_ARRAY and set this value on the specified property name. This allow language bindings to set GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` –

the object to set the array to

`name` –

the name of the property to set

`array` –

a GValueArray containing the values

Returns –
No description available

Since : 1.12

### Gst.prototype.util_set_object_array

    function Gst.prototype.util_set_object_array(object: GObject.Object, name: String, array: GObject.ValueArray): {
        // javascript wrapper for 'gst_util_set_object_array'
    }

Transfer a GObject.ValueArray to GST_TYPE_ARRAY (not introspectable) and set this value on the specified property name. This allow language bindings to set GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` (GObject.Object) –

the object to set the array to

`name` (String) –

the name of the property to set

`array` (GObject.ValueArray) –

a GObject.ValueArray containing the values

Returns (Number) –
No description available

Since : 1.12

### Gst.util_set_object_array

    def Gst.util_set_object_array (object, name, array):
        #python wrapper for 'gst_util_set_object_array'

Transfer a GObject.ValueArray to GST_TYPE_ARRAY (not introspectable) and set this value on the specified property name. This allow language bindings to set GST_TYPE_ARRAY properties which are otherwise not an accessible type.

Parameters:

`object` (GObject.Object) –

the object to set the array to

`name` (str) –

the name of the property to set

`array` (GObject.ValueArray) –

a GObject.ValueArray containing the values

Returns (bool) –
No description available

Since : 1.12

### gst_util_set_value_from_string

    gst_util_set_value_from_string (GValue * value,
                                    const gchar * value_str)

Converts the string to the type of the value and sets the value with it.

Note that this function is dangerous as it does not return any indication if the conversion worked or not.

Parameters:

`value` ( [out]) –

the value to set

`value_str` –

the string to get the value from

### Gst.prototype.util_set_value_from_string

    function Gst.prototype.util_set_value_from_string(value_str: String): {
        // javascript wrapper for 'gst_util_set_value_from_string'
    }

Converts the string to the type of the value and sets the value with it.

Note that this function is dangerous as it does not return any indication if the conversion worked or not.

Parameters:

`value_str` (String) –

the string to get the value from

### Gst.util_set_value_from_string

    def Gst.util_set_value_from_string (value_str):
        #python wrapper for 'gst_util_set_value_from_string'

Converts the string to the type of the value and sets the value with it.

Note that this function is dangerous as it does not return any indication if the conversion worked or not.

Parameters:

`value_str` (str) –

the string to get the value from

### gst_util_simplify_fraction

    gst_util_simplify_fraction (gint * numerator,
                                gint * denominator,
                                guint n_terms,
                                guint threshold)

Calculates the simpler representation of numerator and denominator and update both values with the resulting simplified fraction.

Simplify a fraction using a simple continued fraction decomposition. The idea here is to convert fractions such as 333333/10000000 to 1/30 using 32 bit arithmetic only. The algorithm is not perfect and relies upon two arbitrary parameters to remove non-significative terms from the simple continued fraction decomposition. Using 8 and 333 for n_terms and threshold respectively seems to give nice results.

Parameters:

`numerator` ( [inout]) –

First value as gint

`denominator` ( [inout]) –

Second value as gint

`n_terms` –

non-significative terms (typical value: 8)

`threshold` –

threshold (typical value: 333)

Since : 1.24

### Gst.prototype.util_simplify_fraction

    function Gst.prototype.util_simplify_fraction(numerator: Number, denominator: Number, n_terms: Number, threshold: Number): {
        // javascript wrapper for 'gst_util_simplify_fraction'
    }

Calculates the simpler representation of numerator and denominator and update both values with the resulting simplified fraction.

Simplify a fraction using a simple continued fraction decomposition. The idea here is to convert fractions such as 333333/10000000 to 1/30 using 32 bit arithmetic only. The algorithm is not perfect and relies upon two arbitrary parameters to remove non-significative terms from the simple continued fraction decomposition. Using 8 and 333 for n_terms and threshold respectively seems to give nice results.

Parameters:

`numerator` (Number) –

First value as Number

`denominator` (Number) –

Second value as Number

`n_terms` (Number) –

non-significative terms (typical value: 8)

`threshold` (Number) –

threshold (typical value: 333)

Since : 1.24

### Gst.util_simplify_fraction

    def Gst.util_simplify_fraction (numerator, denominator, n_terms, threshold):
        #python wrapper for 'gst_util_simplify_fraction'

Calculates the simpler representation of numerator and denominator and update both values with the resulting simplified fraction.

Simplify a fraction using a simple continued fraction decomposition. The idea here is to convert fractions such as 333333/10000000 to 1/30 using 32 bit arithmetic only. The algorithm is not perfect and relies upon two arbitrary parameters to remove non-significative terms from the simple continued fraction decomposition. Using 8 and 333 for n_terms and threshold respectively seems to give nice results.

Parameters:

`numerator` (int) –

First value as int

`denominator` (int) –

Second value as int

`n_terms` (int) –

non-significative terms (typical value: 8)

`threshold` (int) –

threshold (typical value: 333)

Since : 1.24

### gst_util_uint64_scale

    guint64
    gst_util_uint64_scale (guint64 val,
                           guint64 num,
                           guint64 denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` –

the number to scale

`num` –

the numerator of the scale ratio

`denom` –

the denominator of the scale ratio

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer it is truncated. See also gst_util_uint64_scale_round, gst_util_uint64_scale_ceil, gst_util_uint64_scale_int, gst_util_uint64_scale_int_round, gst_util_uint64_scale_int_ceil.

### Gst.prototype.util_uint64_scale

    function Gst.prototype.util_uint64_scale(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (Number) –

the number to scale

`num` (Number) –

the numerator of the scale ratio

`denom` (Number) –

the denominator of the scale ratio

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer it is truncated. See also Gst.prototype.util_uint64_scale_round, Gst.prototype.util_uint64_scale_ceil, Gst.prototype.util_uint64_scale_int, Gst.prototype.util_uint64_scale_int_round, Gst.prototype.util_uint64_scale_int_ceil.

### Gst.util_uint64_scale

    def Gst.util_uint64_scale (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (int) –

the number to scale

`num` (int) –

the numerator of the scale ratio

`denom` (int) –

the denominator of the scale ratio

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer it is truncated. See also Gst.util_uint64_scale_round, Gst.util_uint64_scale_ceil, Gst.util_uint64_scale_int, Gst.util_uint64_scale_int_round, Gst.util_uint64_scale_int_ceil.

### gst_util_uint64_scale_ceil

    guint64
    gst_util_uint64_scale_ceil (guint64 val,
                                guint64 num,
                                guint64 denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` –

the number to scale

`num` –

the numerator of the scale ratio

`denom` –

the denominator of the scale ratio

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also gst_util_uint64_scale, gst_util_uint64_scale_round, gst_util_uint64_scale_int, gst_util_uint64_scale_int_round, gst_util_uint64_scale_int_ceil.

### Gst.prototype.util_uint64_scale_ceil

    function Gst.prototype.util_uint64_scale_ceil(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale_ceil'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (Number) –

the number to scale

`num` (Number) –

the numerator of the scale ratio

`denom` (Number) –

the denominator of the scale ratio

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also Gst.prototype.util_uint64_scale, Gst.prototype.util_uint64_scale_round, Gst.prototype.util_uint64_scale_int, Gst.prototype.util_uint64_scale_int_round, Gst.prototype.util_uint64_scale_int_ceil.

### Gst.util_uint64_scale_ceil

    def Gst.util_uint64_scale_ceil (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale_ceil'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (int) –

the number to scale

`num` (int) –

the numerator of the scale ratio

`denom` (int) –

the denominator of the scale ratio

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also Gst.util_uint64_scale, Gst.util_uint64_scale_round, Gst.util_uint64_scale_int, Gst.util_uint64_scale_int_round, Gst.util_uint64_scale_int_ceil.

### gst_util_uint64_scale_int

    guint64
    gst_util_uint64_scale_int (guint64 val,
                               gint num,
                               gint denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` –

guint64 (such as a GstClockTime) to scale.

`num` –

numerator of the scale factor.

`denom` –

denominator of the scale factor.

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is truncated. See also gst_util_uint64_scale_int_round, gst_util_uint64_scale_int_ceil, gst_util_uint64_scale, gst_util_uint64_scale_round, gst_util_uint64_scale_ceil.

### Gst.prototype.util_uint64_scale_int

    function Gst.prototype.util_uint64_scale_int(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale_int'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (Number) –

guint64 (such as a Number) to scale.

`num` (Number) –

numerator of the scale factor.

`denom` (Number) –

denominator of the scale factor.

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is truncated. See also Gst.prototype.util_uint64_scale_int_round, Gst.prototype.util_uint64_scale_int_ceil, Gst.prototype.util_uint64_scale, Gst.prototype.util_uint64_scale_round, Gst.prototype.util_uint64_scale_ceil.

### Gst.util_uint64_scale_int

    def Gst.util_uint64_scale_int (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale_int'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (int) –

guint64 (such as a int) to scale.

`num` (int) –

numerator of the scale factor.

`denom` (int) –

denominator of the scale factor.

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is truncated. See also Gst.util_uint64_scale_int_round, Gst.util_uint64_scale_int_ceil, Gst.util_uint64_scale, Gst.util_uint64_scale_round, Gst.util_uint64_scale_ceil.

### gst_util_uint64_scale_int_ceil

    guint64
    gst_util_uint64_scale_int_ceil (guint64 val,
                                    gint num,
                                    gint denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` –

guint64 (such as a GstClockTime) to scale.

`num` –

numerator of the scale factor.

`denom` –

denominator of the scale factor.

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also gst_util_uint64_scale_int, gst_util_uint64_scale_int_round, gst_util_uint64_scale, gst_util_uint64_scale_round, gst_util_uint64_scale_ceil.

### Gst.prototype.util_uint64_scale_int_ceil

    function Gst.prototype.util_uint64_scale_int_ceil(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale_int_ceil'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (Number) –

guint64 (such as a Number) to scale.

`num` (Number) –

numerator of the scale factor.

`denom` (Number) –

denominator of the scale factor.

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also Gst.prototype.util_uint64_scale_int, Gst.prototype.util_uint64_scale_int_round, Gst.prototype.util_uint64_scale, Gst.prototype.util_uint64_scale_round, Gst.prototype.util_uint64_scale_ceil.

### Gst.util_uint64_scale_int_ceil

    def Gst.util_uint64_scale_int_ceil (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale_int_ceil'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (int) –

guint64 (such as a int) to scale.

`num` (int) –

numerator of the scale factor.

`denom` (int) –

denominator of the scale factor.

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded up. See also Gst.util_uint64_scale_int, Gst.util_uint64_scale_int_round, Gst.util_uint64_scale, Gst.util_uint64_scale_round, Gst.util_uint64_scale_ceil.

### gst_util_uint64_scale_int_round

    guint64
    gst_util_uint64_scale_int_round (guint64 val,
                                     gint num,
                                     gint denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` –

guint64 (such as a GstClockTime) to scale.

`num` –

numerator of the scale factor.

`denom` –

denominator of the scale factor.

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also gst_util_uint64_scale_int, gst_util_uint64_scale_int_ceil, gst_util_uint64_scale, gst_util_uint64_scale_round, gst_util_uint64_scale_ceil.

### Gst.prototype.util_uint64_scale_int_round

    function Gst.prototype.util_uint64_scale_int_round(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale_int_round'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (Number) –

guint64 (such as a Number) to scale.

`num` (Number) –

numerator of the scale factor.

`denom` (Number) –

denominator of the scale factor.

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also Gst.prototype.util_uint64_scale_int, Gst.prototype.util_uint64_scale_int_ceil, Gst.prototype.util_uint64_scale, Gst.prototype.util_uint64_scale_round, Gst.prototype.util_uint64_scale_ceil.

### Gst.util_uint64_scale_int_round

    def Gst.util_uint64_scale_int_round (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale_int_round'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision. num must be non-negative and denom must be positive.

Parameters:

`val` (int) –

guint64 (such as a int) to scale.

`num` (int) –

numerator of the scale factor.

`denom` (int) –

denominator of the scale factor.

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also Gst.util_uint64_scale_int, Gst.util_uint64_scale_int_ceil, Gst.util_uint64_scale, Gst.util_uint64_scale_round, Gst.util_uint64_scale_ceil.

### gst_util_uint64_scale_round

    guint64
    gst_util_uint64_scale_round (guint64 val,
                                 guint64 num,
                                 guint64 denom)

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` –

the number to scale

`num` –

the numerator of the scale ratio

`denom` –

the denominator of the scale ratio

Returns –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also gst_util_uint64_scale, gst_util_uint64_scale_ceil, gst_util_uint64_scale_int, gst_util_uint64_scale_int_round, gst_util_uint64_scale_int_ceil.

### Gst.prototype.util_uint64_scale_round

    function Gst.prototype.util_uint64_scale_round(val: Number, num: Number, denom: Number): {
        // javascript wrapper for 'gst_util_uint64_scale_round'
    }

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (Number) –

the number to scale

`num` (Number) –

the numerator of the scale ratio

`denom` (Number) –

the denominator of the scale ratio

Returns (Number) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also Gst.prototype.util_uint64_scale, Gst.prototype.util_uint64_scale_ceil, Gst.prototype.util_uint64_scale_int, Gst.prototype.util_uint64_scale_int_round, Gst.prototype.util_uint64_scale_int_ceil.

### Gst.util_uint64_scale_round

    def Gst.util_uint64_scale_round (val, num, denom):
        #python wrapper for 'gst_util_uint64_scale_round'

Scale val by the rational number num / denom, avoiding overflows and underflows and without loss of precision.

This function can potentially be very slow if val and num are both greater than G_MAXUINT32.

Parameters:

`val` (int) –

the number to scale

`num` (int) –

the numerator of the scale ratio

`denom` (int) –

the denominator of the scale ratio

Returns (int) –

val * num / denom. In the case of an overflow, this function returns G_MAXUINT64. If the result is not exactly representable as an integer, it is rounded to the nearest integer (half-way cases are rounded up). See also Gst.util_uint64_scale, Gst.util_uint64_scale_ceil, Gst.util_uint64_scale_int, Gst.util_uint64_scale_int_round, Gst.util_uint64_scale_int_ceil.

## Function Macros

### GDOUBLE_FROM_BE

    #define GDOUBLE_FROM_BE(val) (GDOUBLE_TO_BE (val))

Convert 64-bit floating point value (double) from big endian byte order into native byte order.

Parameters:

`val` –

value

### GDOUBLE_FROM_LE

    #define GDOUBLE_FROM_LE(val) (GDOUBLE_TO_LE (val))

Convert 64-bit floating point value (double) from little endian byte order into native byte order.

Parameters:

`val` –

value

### GDOUBLE_TO_BE

    #define GDOUBLE_TO_BE(val)   (GDOUBLE_SWAP_LE_BE (val))

Convert 64-bit floating point value (double) from native byte order into big endian byte order.

Parameters:

`val` –

value

### GDOUBLE_TO_LE

    #define GDOUBLE_TO_LE(val)   ((gdouble) (val))

Convert 64-bit floating point value (double) from native byte order into little endian byte order.

Parameters:

`val` –

value

### GFLOAT_FROM_BE

    #define GFLOAT_FROM_BE(val)  (GFLOAT_TO_BE (val))

Convert 32-bit floating point value (float) from big endian byte order into native byte order.

Parameters:

`val` –

value

### GFLOAT_FROM_LE

    #define GFLOAT_FROM_LE(val)  (GFLOAT_TO_LE (val))

Convert 32-bit floating point value (float) from little endian byte order into native byte order.

Parameters:

`val` –

value

### GFLOAT_TO_BE

    #define GFLOAT_TO_BE(val)    (GFLOAT_SWAP_LE_BE (val))

Convert 32-bit floating point value (float) from native byte order into big endian byte order.

Parameters:

`val` –

value

### GFLOAT_TO_LE

    #define GFLOAT_TO_LE(val)    ((gfloat) (val))

Convert 32-bit floating point value (float) from native byte order into little endian byte order.

Parameters:

`val` –

value

### GST_CALL_PARENT

    #define GST_CALL_PARENT(parent_class_cast, name, args)                  \
            ((parent_class_cast(parent_class)->name != NULL) ?              \
             parent_class_cast(parent_class)->name args : (void) 0)

Just call the parent handler. This assumes that there is a variable named parent_class that points to the (duh!) parent class. Note that this macro is not to be used with things that return something, use the _WITH_DEFAULT version for that

Parameters:

`parent_class_cast` –

the name of the class cast macro for the parent type

`name` –

name of the function to call

`args` –

arguments enclosed in '( )'

### GST_CALL_PARENT_WITH_DEFAULT

    #define GST_CALL_PARENT_WITH_DEFAULT(parent_class_cast, name, args, def_return)\
            ((parent_class_cast(parent_class)->name != NULL) ?              \
             parent_class_cast(parent_class)->name args : def_return)

Same as GST_CALL_PARENT, but in case there is no implementation, it evaluates to def_return.

Parameters:

`parent_class_cast` –

the name of the class cast macro for the parent type

`name` –

name of the function to call

`args` –

arguments enclosed in '( )'

`def_return` –

default result

### GST_READ_UINT16_BE

    #define GST_READ_UINT16_BE(data)      _GST_FAST_READ (16, data)

Read a 16 bit unsigned integer value in big endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT16_LE

    #define GST_READ_UINT16_LE(data)      _GST_FAST_READ_SWAP (16, data)

Read a 16 bit unsigned integer value in little endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT24_BE

    #define GST_READ_UINT24_BE(data) __gst_slow_read24_be((const guint8 *)(data))

Read a 24 bit unsigned integer value in big endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT24_LE

    #define GST_READ_UINT24_LE(data) __gst_slow_read24_le((const guint8 *)(data))

Read a 24 bit unsigned integer value in little endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT32_BE

    #define GST_READ_UINT32_BE(data)      _GST_FAST_READ (32, data)

Read a 32 bit unsigned integer value in big endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT32_LE

    #define GST_READ_UINT32_LE(data)      _GST_FAST_READ_SWAP (32, data)

Read a 32 bit unsigned integer value in little endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT64_BE

    #define GST_READ_UINT64_BE(data)      _GST_FAST_READ (64, data)

Read a 64 bit unsigned integer value in big endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT64_LE

    #define GST_READ_UINT64_LE(data)      _GST_FAST_READ_SWAP (64, data)

Read a 64 bit unsigned integer value in little endian format from the memory buffer.

Parameters:

`data` –

memory location

### GST_READ_UINT8

    #define GST_READ_UINT8(data)            (_GST_GET (data, 0,  8,  0))

Read an 8 bit unsigned integer value from the memory buffer.

Parameters:

`data` –

memory location

### GST_ROUND_DOWN_128

    #define GST_ROUND_DOWN_128(num) ((num)&(~127))

Rounds an integer value down to the next multiple of 128.

Parameters:

`num` –

integer value to round down

Since : 1.4

### GST_ROUND_DOWN_16

    #define GST_ROUND_DOWN_16(num) ((num)&(~15))

Rounds an integer value down to the next multiple of 16.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_2

    #define GST_ROUND_DOWN_2(num)  ((num)&(~1))

Rounds an integer value down to the next multiple of 2.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_32

    #define GST_ROUND_DOWN_32(num) ((num)&(~31))

Rounds an integer value down to the next multiple of 32.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_4

    #define GST_ROUND_DOWN_4(num)  ((num)&(~3))

Rounds an integer value down to the next multiple of 4.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_64

    #define GST_ROUND_DOWN_64(num) ((num)&(~63))

Rounds an integer value down to the next multiple of 64.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_8

    #define GST_ROUND_DOWN_8(num)  ((num)&(~7))

Rounds an integer value down to the next multiple of 8.

Parameters:

`num` –

integer value to round down

### GST_ROUND_DOWN_N

    #define GST_ROUND_DOWN_N(num,align) (((num) & ~((align) - 1)))

Rounds an integer value down to the next multiple of align. align MUST be a power of two.

Parameters:

`num` –

integrer value to round down

`align` –

a power of two to round down to

### GST_ROUND_UP_128

    #define GST_ROUND_UP_128(num) (((num)+127)&~127)

Rounds an integer value up to the next multiple of 128.

Parameters:

`num` –

integer value to round up

Since : 1.4

### GST_ROUND_UP_16

    #define GST_ROUND_UP_16(num) (((num)+15)&~15)

Rounds an integer value up to the next multiple of 16.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_2

    #define GST_ROUND_UP_2(num)  (((num)+1)&~1)

Rounds an integer value up to the next multiple of 2.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_32

    #define GST_ROUND_UP_32(num) (((num)+31)&~31)

Rounds an integer value up to the next multiple of 32.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_4

    #define GST_ROUND_UP_4(num)  (((num)+3)&~3)

Rounds an integer value up to the next multiple of 4.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_64

    #define GST_ROUND_UP_64(num) (((num)+63)&~63)

Rounds an integer value up to the next multiple of 64.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_8

    #define GST_ROUND_UP_8(num)  (((num)+7)&~7)

Rounds an integer value up to the next multiple of 8.

Parameters:

`num` –

integer value to round up

### GST_ROUND_UP_N

    #define GST_ROUND_UP_N(num,align) ((((num) + ((align) - 1)) & ~((align) - 1)))

Rounds an integer value up to the next multiple of align. align MUST be a power of two.

Parameters:

`num` –

integrer value to round up

`align` –

a power of two to round up to

### GST_WRITE_UINT16_BE

    #define GST_WRITE_UINT16_BE(data,val) _GST_FAST_WRITE(16,data,val)

Store a 16 bit unsigned integer value in big endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT16_LE

    #define GST_WRITE_UINT16_LE(data,val) _GST_FAST_WRITE_SWAP(16,data,val)

Store a 16 bit unsigned integer value in little endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT24_BE

    #define GST_WRITE_UINT24_BE(data, num)  do { \
                                              gpointer __put_data = data; \
                                              guint32 __put_val = num; \
                                              _GST_PUT (__put_data, 0, 32,  16, __put_val); \
                                              _GST_PUT (__put_data, 1, 32,  8, __put_val); \
                                              _GST_PUT (__put_data, 2, 32,  0, __put_val); \
                                            } while (0)

Store a 24 bit unsigned integer value in big endian format into the memory buffer.

Parameters:

`data` –

memory location

`num` –

value to store

### GST_WRITE_UINT24_LE

    #define GST_WRITE_UINT24_LE(data, num)  do { \
                                              gpointer __put_data = data; \
                                              guint32 __put_val = num; \
                                              _GST_PUT (__put_data, 0, 32,  0, __put_val); \
                                              _GST_PUT (__put_data, 1, 32,  8, __put_val); \
                                              _GST_PUT (__put_data, 2, 32,  16, __put_val); \
                                            } while (0)

Store a 24 bit unsigned integer value in little endian format into the memory buffer.

Parameters:

`data` –

memory location

`num` –

value to store

### GST_WRITE_UINT32_BE

    #define GST_WRITE_UINT32_BE(data,val) _GST_FAST_WRITE(32,data,val)

Store a 32 bit unsigned integer value in big endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT32_LE

    #define GST_WRITE_UINT32_LE(data,val) _GST_FAST_WRITE_SWAP(32,data,val)

Store a 32 bit unsigned integer value in little endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT64_BE

    #define GST_WRITE_UINT64_BE(data,val) _GST_FAST_WRITE(64,data,val)

Store a 64 bit unsigned integer value in big endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT64_LE

    #define GST_WRITE_UINT64_LE(data,val) _GST_FAST_WRITE_SWAP(64,data,val)

Store a 64 bit unsigned integer value in little endian format into the memory buffer.

Parameters:

`data` –

memory location

`val` –

value to store

### GST_WRITE_UINT8

    #define GST_WRITE_UINT8(data, num)      do { \
                                              _GST_PUT (data, 0,  8,  0, num); \
                                            } while (0)

Store an 8 bit unsigned integer value into the memory buffer.

Parameters:

`data` –

memory location

`num` –

value to store

### _GST_FAST_READ

    #define _GST_FAST_READ(s, d) __gst_fast_read##s((const guint8 *)(d))

### _GST_FAST_READ_SWAP

    #define _GST_FAST_READ_SWAP(s, d) __gst_fast_read_swap##s((const guint8 *)(d))

### _GST_FAST_WRITE

    #define _GST_FAST_WRITE(s, d, v) __gst_fast_write##s((guint8 *)(d), (v))

### _GST_FAST_WRITE_SWAP

    #define _GST_FAST_WRITE_SWAP(s, d, v) __gst_fast_write_swap##s((guint8 *)(d), (v))

### _GST_GET

    #define _GST_GET(__data, __idx, __size, __shift) \
        (((guint##__size) (((const guint8 *) (__data))[__idx])) << (__shift))

### _GST_PUT

    #define _GST_PUT(__data, __idx, __size, __shift, __num) \
        (((guint8 *) (__data))[__idx] = (((guint##__size) (__num)) >> (__shift)) & 0xff)

### _GST_READ_UINT16_BE

    #define _GST_READ_UINT16_BE(data)	(_GST_GET (data, 0, 16,  8) | \
    					 _GST_GET (data, 1, 16,  0))

### _GST_READ_UINT16_LE

    #define _GST_READ_UINT16_LE(data)	(_GST_GET (data, 1, 16,  8) | \
    					 _GST_GET (data, 0, 16,  0))

### _GST_READ_UINT24_BE

    #define _GST_READ_UINT24_BE(data)       (_GST_GET (data, 0, 32, 16) | \
                                             _GST_GET (data, 1, 32,  8) | \
                                             _GST_GET (data, 2, 32,  0))

### _GST_READ_UINT24_LE

    #define _GST_READ_UINT24_LE(data)       (_GST_GET (data, 2, 32, 16) | \
                                             _GST_GET (data, 1, 32,  8) | \
                                             _GST_GET (data, 0, 32,  0))

### _GST_READ_UINT32_BE

    #define _GST_READ_UINT32_BE(data)	(_GST_GET (data, 0, 32, 24) | \
    					 _GST_GET (data, 1, 32, 16) | \
    					 _GST_GET (data, 2, 32,  8) | \
    					 _GST_GET (data, 3, 32,  0))

### _GST_READ_UINT32_LE

    #define _GST_READ_UINT32_LE(data)	(_GST_GET (data, 3, 32, 24) | \
    					 _GST_GET (data, 2, 32, 16) | \
    					 _GST_GET (data, 1, 32,  8) | \
    					 _GST_GET (data, 0, 32,  0))

### _GST_READ_UINT64_BE

    #define _GST_READ_UINT64_BE(data)	(_GST_GET (data, 0, 64, 56) | \
    					 _GST_GET (data, 1, 64, 48) | \
    					 _GST_GET (data, 2, 64, 40) | \
    					 _GST_GET (data, 3, 64, 32) | \
    					 _GST_GET (data, 4, 64, 24) | \
    					 _GST_GET (data, 5, 64, 16) | \
    					 _GST_GET (data, 6, 64,  8) | \
    					 _GST_GET (data, 7, 64,  0))

### _GST_READ_UINT64_LE

    #define _GST_READ_UINT64_LE(data)	(_GST_GET (data, 7, 64, 56) | \
    					 _GST_GET (data, 6, 64, 48) | \
    					 _GST_GET (data, 5, 64, 40) | \
    					 _GST_GET (data, 4, 64, 32) | \
    					 _GST_GET (data, 3, 64, 24) | \
    					 _GST_GET (data, 2, 64, 16) | \
    					 _GST_GET (data, 1, 64,  8) | \
    					 _GST_GET (data, 0, 64,  0))

### gst_gdouble_to_guint64

    #define gst_gdouble_to_guint64(value)   gst_util_gdouble_to_guint64(value)

Convert value to a guint64.

Parameters:

`value` –

the gdouble value to convert

Returns –

value converted to a guint64.

### gst_guint64_to_gdouble

    #define gst_guint64_to_gdouble(value)   gst_util_guint64_to_gdouble(value)

Convert value to a gdouble.

Parameters:

`value` –

the guint64 value to convert

Returns –

value converted to a gdouble.

## Enumerations

### GstPluginAPIFlags

##### Members

`GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS` (1) –

Ignore enum members when generating the plugins cache. This is useful if the members of the enum are generated dynamically, in order not to expose incorrect documentation to the end user.

Since : 1.18

### Gst.PluginAPIFlags

##### Members

`Gst.PluginAPIFlags.MEMBERS` (1) –

Ignore enum members when generating the plugins cache. This is useful if the members of the enum are generated dynamically, in order not to expose incorrect documentation to the end user.

Since : 1.18

### Gst.PluginAPIFlags

##### Members

`Gst.PluginAPIFlags.MEMBERS` (1) –

Ignore enum members when generating the plugins cache. This is useful if the members of the enum are generated dynamically, in order not to expose incorrect documentation to the end user.

Since : 1.18

### GstSearchMode

The different search modes.

##### Members

`GST_SEARCH_MODE_EXACT` (0) –

Only search for exact matches.

`GST_SEARCH_MODE_BEFORE` (1) –

Search for an exact match or the element just before.

`GST_SEARCH_MODE_AFTER` (2) –

Search for an exact match or the element just after.

### Gst.SearchMode

The different search modes.

##### Members

`Gst.SearchMode.EXACT` (0) –

Only search for exact matches.

`Gst.SearchMode.BEFORE` (1) –

Search for an exact match or the element just before.

`Gst.SearchMode.AFTER` (2) –

Search for an exact match or the element just after.

### Gst.SearchMode

The different search modes.

##### Members

`Gst.SearchMode.EXACT` (0) –

Only search for exact matches.

`Gst.SearchMode.BEFORE` (1) –

Search for an exact match or the element just before.

`Gst.SearchMode.AFTER` (2) –

Search for an exact match or the element just after.

## Constants

### GST_GROUP_ID_INVALID

    #define GST_GROUP_ID_INVALID (0)

A value which is guaranteed to never be returned by gst_util_group_id_next.

Can be used as a default value in variables used to store group_id.

Since : 1.14

### Gst.GROUP_ID_INVALID

A value which is guaranteed to never be returned by Gst.prototype.util_group_id_next.

Can be used as a default value in variables used to store group_id.

Since : 1.14

### Gst.GROUP_ID_INVALID

A value which is guaranteed to never be returned by Gst.util_group_id_next.

Can be used as a default value in variables used to store group_id.

Since : 1.14

### GST_SEQNUM_INVALID

    #define GST_SEQNUM_INVALID (0)

A value which is guaranteed to never be returned by gst_util_seqnum_next.

Can be used as a default value in variables used to store seqnum.

Since : 1.14

### Gst.SEQNUM_INVALID

A value which is guaranteed to never be returned by Gst.prototype.util_seqnum_next.

Can be used as a default value in variables used to store seqnum.

Since : 1.14

### Gst.SEQNUM_INVALID

A value which is guaranteed to never be returned by Gst.util_seqnum_next.

Can be used as a default value in variables used to store seqnum.

Since : 1.14

## Callbacks

### GstCallAsyncFunc

    (*GstCallAsyncFunc) (gpointer user_data)

Callback prototype used in gst_call_async

Parameters:

`user_data` –

Data passed in the function where that callback has been passed

Since : 1.28

### Gst.CallAsyncFunc

    function Gst.CallAsyncFunc(user_data: Object): {
        // javascript wrapper for 'GstCallAsyncFunc'
    }

Callback prototype used in Gst.prototype.call_async

Parameters:

`user_data` (Object) –

Data passed in the function where that callback has been passed

Since : 1.28

### Gst.CallAsyncFunc

    def Gst.CallAsyncFunc (*user_data):
        #python wrapper for 'GstCallAsyncFunc'

Callback prototype used in Gst.call_async

Parameters:

`user_data` (variadic) –

Data passed in the function where that callback has been passed

Since : 1.28

The results of the search are