FsElementAddedNotifier

FsElementAddedNotifier — Recursive element addition notifier

Synopsis




                    FsElementAddedNotifier;
FsElementAddedNotifier* fs_element_added_notifier_new   (void);
void                fs_element_added_notifier_add       (FsElementAddedNotifier *notifier,
                                                         GstBin *bin);
gboolean            fs_element_added_notifier_remove    (FsElementAddedNotifier *notifier,
                                                         GstBin *bin);
void                fs_element_added_notifier_set_properties_from_keyfile
                                                        (FsElementAddedNotifier *notifier,
                                                         GKeyFile *keyfile);

Object Hierarchy


  GObject
   +----FsElementAddedNotifier

Signals


  "element-added"                                  : Run Last

Description

This object can be attach to any GstBin and will emit a the FsElementAddedNotifier::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.

Details

FsElementAddedNotifier

typedef struct _FsElementAddedNotifier FsElementAddedNotifier;

All members are private


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 FsElementAddedNotifier::element-added signal will be called on every element and sub-element present and added in the future.

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.

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 ()

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

Using a GKeyFile where the groups are the element's type 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.

notifier :

a FsElementAddedNotifier

keyfile :

a GKeyFile

Signal Details

The "element-added" signal

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

This signal is emitted when an element is added to a GstBin that was added to this object or one of its sub-bins.

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.