GstInsertbin

GstInsertbin — A GstBin to insertally link filter-like elements.

Functions

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBin
                    ╰── GstInsertBin

Implemented Interfaces

GstInsertBin implements GstChildProxy.

Includes

#include <gst/codecparsers/gstmpeg4parser.h>

Description

This element is a GstBin that has a single source and sink pad. It allows the user (the application) to easily add and remove filter-like element (that has a single source and sink pad), to the pipeline while it is running. It features a fully asynchronous API inspired by GLib's GAsyncResult based APIs.

Each operation (addition or removal) can take a callback, this callback is guaranteed to be called. Unlike GIO, there is no guarantee about where this callback will be called from, it could be called before the action returns or it could be called later from another thread. The signature of this callback GstInsertBinCallback().

Functions

GstInsertBinCallback ()

void
(*GstInsertBinCallback) (GstInsertBin *insertbin,
                         GstElement *element,
                         gboolean success,
                         gpointer user_data);

This is the prototype of callbacks to be called when the operation completes. It could be called at any time, including as a re-entrant call while the operation is requested.

Parameters

insertbin

A GstInsertBin

 

element

The GstElement on which the operation was performed

 

success

TRUE if the operation was successful

 

user_data

The user data passed

 

gst_insert_bin_new ()

GstElement *
gst_insert_bin_new (const gchar *name);

Creates a new GstInsertBin

Parameters

name

The name of the new GstInsertBin element (or NULL).

[allow-none]

Returns

The new GstInsertBin

Since: 1.2


gst_insert_bin_append ()

void
gst_insert_bin_append (GstInsertBin *self,
                       GstElement *element,
                       GstInsertBinCallback callback,
                       gpointer user_data);

This action signal adds the filter like element after any other element in the bin.

Same as the “append” signal.

Parameters

element

the GstElement to add

 

callback

the callback to call when the element has been added or not, or NULL.

[scope async]

user_data

The data to pass to the callback

 

Since: 1.2


gst_insert_bin_prepend ()

void
gst_insert_bin_prepend (GstInsertBin *self,
                        GstElement *element,
                        GstInsertBinCallback callback,
                        gpointer user_data);

This action signal adds the filter like element before any other element in the bin.

Same as the “prepend” signal.

Parameters

element

the GstElement to add

 

callback

the callback to call when the element has been added or not, or NULL.

[scope async]

user_data

The data to pass to the callback

 

Since: 1.2


gst_insert_bin_insert_after ()

void
gst_insert_bin_insert_after (GstInsertBin *self,
                             GstElement *element,
                             GstElement *sibling,
                             GstInsertBinCallback callback,
                             gpointer user_data);

This action signal adds the filter like element after the sibling element in the bin.

Same as the “insert-after” signal.

Parameters

element

the GstElement to add

 

sibling

the GstElement to add element after

 

callback

the callback to call when the element has been added or not, or NULL.

[scope async]

user_data

The data to pass to the callback

 

Since: 1.2


gst_insert_bin_insert_before ()

void
gst_insert_bin_insert_before (GstInsertBin *self,
                              GstElement *element,
                              GstElement *sibling,
                              GstInsertBinCallback callback,
                              gpointer user_data);

This action signal adds the filter like element before the sibling element in the bin.

Same as the “insert-before” signal.

Parameters

element

the GstElement to add

 

sibling

the GstElement to add element before

 

callback

the callback to call when the element has been added or not, or NULL.

[scope async]

user_data

The data to pass to the callback

 

Since: 1.2


gst_insert_bin_remove ()

void
gst_insert_bin_remove (GstInsertBin *self,
                       GstElement *element,
                       GstInsertBinCallback callback,
                       gpointer user_data);

This action signal removed the filter like element from the bin.

Same as the “remove” signal.

Parameters

element

the GstElement to remove

 

callback

the callback to call when the element has been removed or not, or NULL.

[scope async]

user_data

The data to pass to the callback

 

Since: 1.2

Types and Values

struct GstInsertBin

struct GstInsertBin;

The object structure.


struct GstInsertBinClass

struct GstInsertBinClass {
  GstBinClass parent_class;
};

The object class structure.

Signal Details

The “append” signal

void
user_function (GstInsertBin *element,
               GstElement   *callback,
               gpointer      user_data,
               gpointer      user_data2,
               gpointer      user_data)

This action signal adds the filter like element after any other element in the bin.

Same as gst_insert_bin_append()

Parameters

element

the GstElement to add

 

callback

the callback to call when the element has been added or not, or NULL

 

user_data

The data to pass to the callback

 

user_data2

The user data of the signal (ignored)

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “insert-after” signal

void
user_function (GstInsertBin *element,
               GstElement   *sibling,
               GstElement   *callback,
               gpointer      user_data,
               gpointer      user_data2,
               gpointer      user_data)

This action signal adds the filter like element after the sibling element in the bin. element in the bin.

Same as gst_insert_bin_insert_after()

Parameters

element

the GstElement to add

 

sibling

the GstElement to add element after

 

callback

the callback to call when the element has been added or not, or NULL

 

user_data

The data to pass to the callback

 

user_data2

The user data of the signal (ignored)

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “insert-before” signal

void
user_function (GstInsertBin *element,
               GstElement   *sibling,
               GstElement   *callback,
               gpointer      user_data,
               gpointer      user_data2,
               gpointer      user_data)

This action signal adds the filter like element before the sibling element in the bin.

Same as gst_insert_bin_insert_before()

Parameters

element

the GstElement to add

 

sibling

the GstElement to add element before

 

callback

the callback to call when the element has been added or not, or NULL

 

user_data

The data to pass to the callback

 

user_data2

The user data of the signal (ignored)

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “prepend” signal

void
user_function (GstInsertBin *element,
               GstElement   *callback,
               gpointer      user_data,
               gpointer      user_data2,
               gpointer      user_data)

This action signal adds the filter like element before any other element in the bin.

Same as gst_insert_bin_prepend()

Parameters

element

the GstElement to add

 

callback

the callback to call when the element has been added or not, or NULL

 

user_data

The data to pass to the callback

 

user_data2

The user data of the signal (ignored)

 

user_data

user data set when the signal handler was connected.

 

Flags: Action


The “remove” signal

void
user_function (GstInsertBin *element,
               GstElement   *callback,
               gpointer      user_data,
               gpointer      user_data2,
               gpointer      user_data)

This action signal removed the filter like element from the bin.

Same as gst_insert_bin_remove()

Parameters

element

the GstElement to remove

 

callback

the callback to call when the element has been removed or not, or NULL

 

user_data

The data to pass to the callback

 

user_data2

The user data of the signal (ignored)

 

user_data

user data set when the signal handler was connected.

 

Flags: Action