## GstElementFactory GstElementFactory |

## Functions

gboolean | gst_element_register ()
GstElementFactory * | gst_element_factory_find ()
GType | gst_element_factory_get_element_type ()
const gchar * | gst_element_factory_get_metadata ()
gchar ** | gst_element_factory_get_metadata_keys ()
guint | gst_element_factory_get_num_pad_templates ()
GstURIType | gst_element_factory_get_uri_type ()
const gchar * const * | gst_element_factory_get_uri_protocols ()
gboolean | gst_element_factory_has_interface ()
GstElement * | gst_element_factory_create ()
GstElement * | gst_element_factory_make ()
gboolean | gst_element_factory_can_sink_all_caps ()
gboolean | gst_element_factory_can_src_all_caps ()
gboolean | gst_element_factory_can_sink_any_caps ()
gboolean | gst_element_factory_can_src_any_caps ()
const GList * | gst_element_factory_get_static_pad_templates ()
GList * | gst_element_factory_list_filter ()
GList * | gst_element_factory_list_get_elements ()
gboolean | gst_element_factory_list_is_type ()

## Types and Values

| GstElementFactory
typedef | GstElementFactoryListType
#define | GST_ELEMENT_FACTORY_TYPE_ANY
#define | GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
#define | GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
#define | GST_ELEMENT_FACTORY_TYPE_DECODABLE
#define | GST_ELEMENT_FACTORY_TYPE_DECODER
#define | GST_ELEMENT_FACTORY_TYPE_DECRYPTOR
#define | GST_ELEMENT_FACTORY_TYPE_DEMUXER
#define | GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
#define | GST_ELEMENT_FACTORY_TYPE_ENCODER
#define | GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR
#define | GST_ELEMENT_FACTORY_TYPE_FORMATTER
#define | GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
#define | GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
#define | GST_ELEMENT_FACTORY_TYPE_MUXER
#define | GST_ELEMENT_FACTORY_TYPE_PARSER
#define | GST_ELEMENT_FACTORY_TYPE_PAYLOADER
#define | GST_ELEMENT_FACTORY_TYPE_SINK
#define | GST_ELEMENT_FACTORY_TYPE_SRC
#define | GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstPluginFeature
                    ╰── GstElementFactory

## Includes

    #include <gst/gst.h>

## Description

## Functions

### gst_element_register ()

    gboolean
    gst_element_register (GstPlugin *plugin,
                          const gchar *name,
                          guint rank,
                          GType type);

### gst_element_factory_find ()

    GstElementFactory *
    gst_element_factory_find (const gchar *name);

### gst_element_factory_get_element_type ()

    GType
    gst_element_factory_get_element_type (GstElementFactory *factory);

### gst_element_factory_get_metadata ()

    const gchar *
    gst_element_factory_get_metadata (GstElementFactory *factory,
                                      const gchar *key);

### gst_element_factory_get_metadata_keys ()

    gchar **
    gst_element_factory_get_metadata_keys (GstElementFactory *factory);

### gst_element_factory_get_num_pad_templates ()

    guint
    gst_element_factory_get_num_pad_templates
                                   (GstElementFactory *factory);

### gst_element_factory_get_uri_type ()

    GstURIType
    gst_element_factory_get_uri_type (GstElementFactory *factory);

### gst_element_factory_get_uri_protocols ()

    const gchar * const *
    gst_element_factory_get_uri_protocols (GstElementFactory *factory);

### gst_element_factory_has_interface ()

    gboolean
    gst_element_factory_has_interface (GstElementFactory *factory,
                                       const gchar *interfacename);

### gst_element_factory_create ()

    GstElement *
    gst_element_factory_create (GstElementFactory *factory,
                                const gchar *name);

### gst_element_factory_make ()

    GstElement *
    gst_element_factory_make (const gchar *factoryname,
                              const gchar *name);

### gst_element_factory_can_sink_all_caps ()

    gboolean
    gst_element_factory_can_sink_all_caps (GstElementFactory *factory,
                                           const GstCaps *caps);

### gst_element_factory_can_src_all_caps ()

    gboolean
    gst_element_factory_can_src_all_caps (GstElementFactory *factory,
                                          const GstCaps *caps);

### gst_element_factory_can_sink_any_caps ()

    gboolean
    gst_element_factory_can_sink_any_caps (GstElementFactory *factory,
                                           const GstCaps *caps);

### gst_element_factory_can_src_any_caps ()

    gboolean
    gst_element_factory_can_src_any_caps (GstElementFactory *factory,
                                          const GstCaps *caps);

### gst_element_factory_get_static_pad_templates ()

    const GList *
    gst_element_factory_get_static_pad_templates
                                   (GstElementFactory *factory);

### gst_element_factory_list_filter ()

    GList *
    gst_element_factory_list_filter (GList *list,
                                     const GstCaps *caps,
                                     GstPadDirection direction,
                                     gboolean subsetonly);

### gst_element_factory_list_get_elements ()

    GList *
    gst_element_factory_list_get_elements (GstElementFactoryListType type,
                                           GstRank minrank);

### gst_element_factory_list_is_type ()

    gboolean
    gst_element_factory_list_is_type (GstElementFactory *factory,
                                      GstElementFactoryListType type);

## Types and Values

### GstElementFactory

    typedef struct _GstElementFactory GstElementFactory;

### GstElementFactoryListType

    typedef guint64 GstElementFactoryListType;

### GST_ELEMENT_FACTORY_TYPE_ANY

    #define  GST_ELEMENT_FACTORY_TYPE_ANY ((G_GUINT64_CONSTANT (1) << 49) - 1)

### GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS

    #define GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS (GST_ELEMENT_FACTORY_TYPE_SINK | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)

### GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER

    #define GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)

### GST_ELEMENT_FACTORY_TYPE_DECODABLE

    #define             GST_ELEMENT_FACTORY_TYPE_DECODABLE

### GST_ELEMENT_FACTORY_TYPE_DECODER

    #define  GST_ELEMENT_FACTORY_TYPE_DECODER        (G_GUINT64_CONSTANT (1) << 0)

### GST_ELEMENT_FACTORY_TYPE_DECRYPTOR

    #define  GST_ELEMENT_FACTORY_TYPE_DECRYPTOR      (G_GUINT64_CONSTANT (1) << 10)

### GST_ELEMENT_FACTORY_TYPE_DEMUXER

    #define  GST_ELEMENT_FACTORY_TYPE_DEMUXER        (G_GUINT64_CONSTANT (1) << 5)

### GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER

    #define  GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER    (G_GUINT64_CONSTANT (1) << 8)

### GST_ELEMENT_FACTORY_TYPE_ENCODER

    #define  GST_ELEMENT_FACTORY_TYPE_ENCODER        (G_GUINT64_CONSTANT (1) << 1)

### GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR

    #define  GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR      (G_GUINT64_CONSTANT (1) << 11)

### GST_ELEMENT_FACTORY_TYPE_FORMATTER

    #define  GST_ELEMENT_FACTORY_TYPE_FORMATTER      (G_GUINT64_CONSTANT (1) << 9)

### GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS

    #define  GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS   (G_GUINT64_CONSTANT (1) << 48)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO

    #define  GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO    (G_GUINT64_CONSTANT (1) << 50)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE

    #define  GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE    (G_GUINT64_CONSTANT (1) << 51)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA

    #define  GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA (G_GUINT64_CONSTANT (1) << 53)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE

    #define  GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE (G_GUINT64_CONSTANT (1) << 52)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO

    #define  GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO    (G_GUINT64_CONSTANT (1) << 49)

### GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY

    #define GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY (~G_GUINT64_CONSTANT (0) << 48)

### GST_ELEMENT_FACTORY_TYPE_MUXER

    #define  GST_ELEMENT_FACTORY_TYPE_MUXER          (G_GUINT64_CONSTANT (1) << 4)

### GST_ELEMENT_FACTORY_TYPE_PARSER

    #define  GST_ELEMENT_FACTORY_TYPE_PARSER         (G_GUINT64_CONSTANT (1) << 6)

### GST_ELEMENT_FACTORY_TYPE_PAYLOADER

    #define  GST_ELEMENT_FACTORY_TYPE_PAYLOADER      (G_GUINT64_CONSTANT (1) << 7)

### GST_ELEMENT_FACTORY_TYPE_SINK

    #define  GST_ELEMENT_FACTORY_TYPE_SINK           (G_GUINT64_CONSTANT (1) << 2)

### GST_ELEMENT_FACTORY_TYPE_SRC

    #define  GST_ELEMENT_FACTORY_TYPE_SRC            (G_GUINT64_CONSTANT (1) << 3)

### GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER

    #define GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)