## GESTrackElementAsset GESTrackElementAsset — A GESAsset subclass specialized in GESTrackElement extraction |

## Synopsis

    #include <ges/ges.h>

                        GESTrackElementAsset;
    GType               ges_track_element_asset_get_type    (void);
    const GESTrackType  ges_track_element_asset_get_track_type
                                                            (GESTrackElementAsset *asset);
    void                ges_track_element_asset_set_track_type
                                                            (GESTrackElementAsset *asset,
                                                             GESTrackType type);
    void                ges_track_element_add_children_props
                                                            (GESTrackElement *self,
                                                             GstElement *element,
                                                             const gchar **wanted_categories,
                                                             const gchar **blacklist,
                                                             const gchar **whitelist);

## Object Hierarchy

      GObject
       +----GESAsset
             +----GESTrackElementAsset
                   +----GESUriSourceAsset

## Implemented Interfaces

GESTrackElementAsset implements GAsyncInitable, GInitable and GESMetaContainer.

## Description

## Details

### GESTrackElementAsset

    typedef struct _GESTrackElementAsset GESTrackElementAsset;

### ges_track_element_asset_get_type ()

    GType               ges_track_element_asset_get_type    (void);

### ges_track_element_asset_get_track_type ()

    const GESTrackType  ges_track_element_asset_get_track_type
                                                            (GESTrackElementAsset *asset);

Get the GESAssetTrackType the GESTrackElement extracted from `self` should get into

`asset` : | A GESAssetObject
Returns : | a GESTrackType

### ges_track_element_asset_set_track_type ()

    void                ges_track_element_asset_set_track_type
                                                            (GESTrackElementAsset *asset,
                                                             GESTrackType type);

Set the GESAssetTrackType the GESTrackElement extracted from `self` should get into

`asset` : | A GESAssetObject
`type` : | A GESTrackType

### ges_track_element_add_children_props ()

    void                ges_track_element_add_children_props
                                                            (GESTrackElement *self,
                                                             GstElement *element,
                                                             const gchar **wanted_categories,
                                                             const gchar **blacklist,
                                                             const gchar **whitelist);

Looks for the properties defines with the various parametters and add them to the hashtable of children properties.

To be used by subclasses only

`self` : | The GESTrackElement to set chidlren props on
`element` : | The GstElement to retrieve properties from
`wanted_categories` : | An array of categories of GstElement to take into account (as defined in the factory meta "klass" field). [array zero-terminated=1][transfer none][allow-none]
`blacklist` : | A blacklist of elements factory names to not take into account. [array zero-terminated=1][transfer none][allow-none]
`witelist` : | A list of propery names to add as children properties. [array zero-terminated=1][transfer none][allow-none]