FsElementAddedNotifier

FsElementAddedNotifier — Recursive element addition notifier

Functions

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── FsElementAddedNotifier

Includes

#include <farstream/fs-element-added-notifier.h>

Description

This object can be attach to any GstBin and will emit a the “element-added” signal for every element inside the GstBin or any sub-bin and any element added in the future to the bin or its sub-bins. There is also a utility method to have it used to set the properties of elements based on a GKeyfile.

Functions

fs_element_added_notifier_new ()

FsElementAddedNotifier *
fs_element_added_notifier_new (void);

Creates a new FsElementAddedNotifier object

Returns

the newly-created FsElementAddedNotifier


fs_element_added_notifier_add ()

void
fs_element_added_notifier_add (FsElementAddedNotifier *notifier,
                               GstBin *bin);

Add a GstBin to on which the “element-added” signal will be called on every element and sub-element present and added in the future.

Parameters

notifier

a FsElementAddedNotifier

 

bin

A GstBin to watch to added elements

 

fs_element_added_notifier_remove ()

gboolean
fs_element_added_notifier_remove (FsElementAddedNotifier *notifier,
                                  GstBin *bin);

Stop watching the passed bin and its subbins.

Parameters

notifier

a FsElementAddedNotifier

 

bin

A GstBin to stop watching

 

Returns

TRUE if the GstBin was being watched, FALSE otherwise


fs_element_added_notifier_set_properties_from_keyfile ()

gulong
fs_element_added_notifier_set_properties_from_keyfile
                               (FsElementAddedNotifier *notifier,
                                GKeyFile *keyfile);

Using a GKeyFile where the groups are the element's type or name and the key=value are the property and its value, this function will set the properties on the elements added to this object after this function has been called. It will take ownership of the GKeyFile structure. It will first try the group as the element type, if that does not match, it will check its name.

Parameters

notifier

a FsElementAddedNotifier

 

keyfile

a GKeyFile.

[transfer full]

Returns

The id of the signal connection, this can be used to disconnect this property setter using g_signal_handler_disconnect().


fs_element_added_notifier_set_properties_from_file ()

gboolean
fs_element_added_notifier_set_properties_from_file
                               (FsElementAddedNotifier *notifier,
                                const gchar *filename,
                                GError **error);

Same as fs_element_added_notifier_set_properties_from_keyfile() but using the name of the file to load instead of the GKeyFile directly.

Parameters

notifier

a FsElementAddedNotifier

 

filename

The name of the keyfile to use

 

error

location of a GError, or NULL if no error occured

 

Returns

TRUE if the file was successfully loaded, FALSE otherwise


fs_element_added_notifier_set_default_properties ()

gulong
fs_element_added_notifier_set_default_properties
                               (FsElementAddedNotifier *notifier,
                                GstElement *element);

Same as first calling fs_utils_get_default_element_properties() and using the result with fs_element_added_notifier_set_properties_from_keyfile() .

This is binding friendly (since GKeyFile doesn't have a boxed type).

Parameters

notifier

a FsElementAddedNotifier

 

element

Element for which to set the default codec preferences

 

Returns

The id of the signal connection, this can be used to disconnect this property setter using g_signal_handler_disconnect().

Types and Values

struct FsElementAddedNotifier

struct FsElementAddedNotifier;

All members are private

Signal Details

The “element-added” signal

void
user_function (FsElementAddedNotifier *self,
               GstBin                 *bin,
               GstElement             *element,
               gpointer                user_data)

This signal is emitted when an element is added to a GstBin that was added to this object or one of its sub-bins. Be careful, there is no guarantee that this will be emitted on your main thread, it will be emitted in the thread that added the element. The bin may be NULL if this is the top-level bin.

Parameters

self

FsElementAddedNotifier that emitted the signal

 

bin

The GstBin to which this object was added

 

element

The GstElement that was added

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last