## GstDeviceProvider GstDeviceProvider |

## Functions

gboolean | gst_device_provider_can_monitor ()
void | gst_device_provider_class_add_metadata ()
void | gst_device_provider_class_add_static_metadata ()
const gchar * | gst_device_provider_class_get_metadata ()
void | gst_device_provider_class_set_metadata ()
void | gst_device_provider_class_set_static_metadata ()
void | gst_device_provider_device_add ()
void | gst_device_provider_device_remove ()
GstBus * | gst_device_provider_get_bus ()
GList * | gst_device_provider_get_devices ()
GstDeviceProviderFactory * | gst_device_provider_get_factory ()
gboolean | gst_device_provider_register ()
gboolean | gst_device_provider_start ()
void | gst_device_provider_stop ()

## Types and Values

struct | GstDeviceProvider
struct | GstDeviceProviderClass

## Includes

    #include <gst/gst.h>

## Description

## Functions

### gst_device_provider_can_monitor ()

    gboolean
    gst_device_provider_can_monitor (GstDeviceProvider *provider);

### gst_device_provider_class_add_metadata ()

    void
    gst_device_provider_class_add_metadata
                                   (GstDeviceProviderClass *klass,
                                    const gchar *key,
                                    const gchar *value);

### gst_device_provider_class_add_static_metadata ()

    void
    gst_device_provider_class_add_static_metadata
                                   (GstDeviceProviderClass *klass,
                                    const gchar *key,
                                    const gchar *value);

### gst_device_provider_class_get_metadata ()

    const gchar *
    gst_device_provider_class_get_metadata
                                   (GstDeviceProviderClass *klass,
                                    const gchar *key);

### gst_device_provider_class_set_metadata ()

    void
    gst_device_provider_class_set_metadata
                                   (GstDeviceProviderClass *klass,
                                    const gchar *longname,
                                    const gchar *classification,
                                    const gchar *description,
                                    const gchar *author);

### gst_device_provider_class_set_static_metadata ()

    void
    gst_device_provider_class_set_static_metadata
                                   (GstDeviceProviderClass *klass,
                                    const gchar *longname,
                                    const gchar *classification,
                                    const gchar *description,
                                    const gchar *author);

### gst_device_provider_device_add ()

    void
    gst_device_provider_device_add (GstDeviceProvider *provider,
                                    GstDevice *device);

### gst_device_provider_device_remove ()

    void
    gst_device_provider_device_remove (GstDeviceProvider *provider,
                                       GstDevice *device);

### gst_device_provider_get_bus ()

    GstBus *
    gst_device_provider_get_bus (GstDeviceProvider *provider);

### gst_device_provider_get_devices ()

    GList *
    gst_device_provider_get_devices (GstDeviceProvider *provider);

### gst_device_provider_get_factory ()

    GstDeviceProviderFactory *
    gst_device_provider_get_factory (GstDeviceProvider *provider);

### gst_device_provider_register ()

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

### gst_device_provider_start ()

    gboolean
    gst_device_provider_start (GstDeviceProvider *provider);

### gst_device_provider_stop ()

    void
    gst_device_provider_stop (GstDeviceProvider *provider);

## Types and Values

### struct GstDeviceProvider

    struct GstDeviceProvider {
      GstObject         parent;

      /* Protected by the Object lock */
      GList *devices;
    };

### struct GstDeviceProviderClass

    struct GstDeviceProviderClass {
      GstObjectClass    parent_class;

      GstDeviceProviderFactory     *factory;

      GList*      (*probe) (GstDeviceProvider * provider);

      gboolean    (*start) (GstDeviceProvider * provider);
      void        (*stop)  (GstDeviceProvider * provider);
    };