Commit 7992174a authored by Olivier Crête's avatar Olivier Crête 👻

DeviceProvider: Rename from DeviceMonitor

parent 4720e6d0
...@@ -117,10 +117,10 @@ Windows. It is released under the GNU Library General Public License ...@@ -117,10 +117,10 @@ Windows. It is released under the GNU Library General Public License
<chapter id="gstreamer-device-probing"> <chapter id="gstreamer-device-probing">
<title>GStreamer Device Discovery and Device Probing</title> <title>GStreamer Device Discovery and Device Probing</title>
<xi:include href="xml/gstdevice.xml" />
<xi:include href="xml/gstdevicemonitor.xml" />
<xi:include href="xml/gstdevicemonitorfactory.xml" />
<xi:include href="xml/gstglobaldevicemonitor.xml" /> <xi:include href="xml/gstglobaldevicemonitor.xml" />
<xi:include href="xml/gstdevice.xml" />
<xi:include href="xml/gstdeviceprovider.xml" />
<xi:include href="xml/gstdeviceproviderfactory.xml" />
</chapter> </chapter>
<chapter id="gstreamer-support"> <chapter id="gstreamer-support">
......
...@@ -3353,61 +3353,61 @@ gst_device_get_type ...@@ -3353,61 +3353,61 @@ gst_device_get_type
</SECTION> </SECTION>
<SECTION> <SECTION>
<FILE>gstdevicemonitor</FILE> <FILE>gstdeviceprovider</FILE>
<TITLE>GstDeviceMonitor</TITLE> <TITLE>GstDeviceProvider</TITLE>
GstDeviceMonitor GstDeviceProvider
GstDeviceMonitorClass GstDeviceProviderClass
gst_device_monitor_can_monitor gst_device_provider_can_monitor
gst_device_monitor_class_add_metadata gst_device_provider_class_add_metadata
gst_device_monitor_class_add_static_metadata gst_device_provider_class_add_static_metadata
gst_device_monitor_class_get_metadata gst_device_provider_class_get_metadata
gst_device_monitor_class_set_metadata gst_device_provider_class_set_metadata
gst_device_monitor_class_set_static_metadata gst_device_provider_class_set_static_metadata
gst_device_monitor_device_add gst_device_provider_device_add
gst_device_monitor_device_remove gst_device_provider_device_remove
gst_device_monitor_get_bus gst_device_provider_get_bus
gst_device_monitor_get_devices gst_device_provider_get_devices
gst_device_monitor_get_factory gst_device_provider_get_factory
gst_device_monitor_register gst_device_provider_register
gst_device_monitor_start gst_device_provider_start
gst_device_monitor_stop gst_device_provider_stop
<SUBSECTION Standard> <SUBSECTION Standard>
GstDevicePrivate GstDevicePrivate
GST_DEVICE_MONITOR GST_DEVICE_PROVIDER
GST_DEVICE_MONITOR_CAST GST_DEVICE_PROVIDER_CAST
GST_DEVICE_MONITOR_CLASS GST_DEVICE_PROVIDER_CLASS
GST_DEVICE_MONITOR_GET_CLASS GST_DEVICE_PROVIDER_GET_CLASS
GST_IS_DEVICE_MONITOR GST_IS_DEVICE_PROVIDER
GST_IS_DEVICE_MONITOR_CLASS GST_IS_DEVICE_PROVIDER_CLASS
GST_TYPE_DEVICE_MONITOR GST_TYPE_DEVICE_PROVIDER
gst_device_monitor_get_type gst_device_provider_get_type
</SECTION> </SECTION>
<SECTION> <SECTION>
<FILE>gstdevicemonitorfactory</FILE> <FILE>gstdeviceproviderfactory</FILE>
<TITLE>GstDeviceMonitorFactory</TITLE> <TITLE>GstDeviceProviderFactory</TITLE>
GstDeviceMonitorFactory GstDeviceProviderFactory
GstDeviceMonitorFactoryClass GstDeviceProviderFactoryClass
gst_device_monitor_factory_find gst_device_provider_factory_find
gst_device_monitor_factory_get gst_device_provider_factory_get
gst_device_monitor_factory_get_by_name gst_device_provider_factory_get_by_name
gst_device_monitor_factory_get_device_monitor_type gst_device_provider_factory_get_device_provider_type
gst_device_monitor_factory_get_metadata gst_device_provider_factory_get_metadata
gst_device_monitor_factory_get_metadata_keys gst_device_provider_factory_get_metadata_keys
gst_device_monitor_factory_has_classes gst_device_provider_factory_has_classes
gst_device_monitor_factory_has_classesv gst_device_provider_factory_has_classesv
gst_device_monitor_factory_list_get_device_monitors gst_device_provider_factory_list_get_device_providers
<SUBSECTION Standard> <SUBSECTION Standard>
GstDeviceMonitorPrivate GstDeviceProviderPrivate
GST_DEVICE_MONITOR_FACTORY GST_DEVICE_PROVIDER_FACTORY
GST_DEVICE_MONITOR_FACTORY_CAST GST_DEVICE_PROVIDER_FACTORY_CAST
GST_DEVICE_MONITOR_FACTORY_CLASS GST_DEVICE_PROVIDER_FACTORY_CLASS
GST_TYPE_DEVICE_MONITOR_FACTORY GST_TYPE_DEVICE_PROVIDER_FACTORY
GST_IS_DEVICE_MONITOR_FACTORY GST_IS_DEVICE_PROVIDER_FACTORY
GST_IS_DEVICE_MONITOR_FACTORY_CLASS GST_IS_DEVICE_PROVIDER_FACTORY_CLASS
gst_device_monitor_factory_get_type gst_device_provider_factory_get_type
</SECTION> </SECTION>
<SECTION> <SECTION>
......
...@@ -36,7 +36,7 @@ GObject ...@@ -36,7 +36,7 @@ GObject
GstPadTemplate GstPadTemplate
GstPlugin GstPlugin
GstPluginFeature GstPluginFeature
GstDeviceMonitorFactory GstDeviceProviderFactory
GstElementFactory GstElementFactory
GstTypeFindFactory GstTypeFindFactory
GstRegistry GstRegistry
......
...@@ -72,8 +72,8 @@ libgstreamer_@GST_API_VERSION@_la_SOURCES = \ ...@@ -72,8 +72,8 @@ libgstreamer_@GST_API_VERSION@_la_SOURCES = \
gstdatetime.c \ gstdatetime.c \
gstdebugutils.c \ gstdebugutils.c \
gstdevice.c \ gstdevice.c \
gstdevicemonitor.c \ gstdeviceprovider.c \
gstdevicemonitorfactory.c \ gstdeviceproviderfactory.c \
gstelement.c \ gstelement.c \
gstelementfactory.c \ gstelementfactory.c \
gsterror.c \ gsterror.c \
...@@ -177,8 +177,8 @@ gst_headers = \ ...@@ -177,8 +177,8 @@ gst_headers = \
gstelement.h \ gstelement.h \
gstelementmetadata.h \ gstelementmetadata.h \
gstdevice.h \ gstdevice.h \
gstdevicemonitor.h \ gstdeviceprovider.h \
gstdevicemonitorfactory.h \ gstdeviceproviderfactory.h \
gstelementfactory.h \ gstelementfactory.h \
gsterror.h \ gsterror.h \
gstevent.h \ gstevent.h \
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#include <gst/gstdatetime.h> #include <gst/gstdatetime.h>
#include <gst/gstdebugutils.h> #include <gst/gstdebugutils.h>
#include <gst/gstdevice.h> #include <gst/gstdevice.h>
#include <gst/gstdevicemonitor.h> #include <gst/gstdeviceprovider.h>
#include <gst/gstelement.h> #include <gst/gstelement.h>
#include <gst/gstelementmetadata.h> #include <gst/gstelementmetadata.h>
#include <gst/gsterror.h> #include <gst/gsterror.h>
......
...@@ -54,8 +54,8 @@ extern const char g_log_domain_gstreamer[]; ...@@ -54,8 +54,8 @@ extern const char g_log_domain_gstreamer[];
/* for GstElement */ /* for GstElement */
#include "gstelement.h" #include "gstelement.h"
/* for GstDeviceMonitor */ /* for GstDeviceProvider */
#include "gstdevicemonitor.h" #include "gstdeviceprovider.h"
/* for GstToc */ /* for GstToc */
#include "gsttoc.h" #include "gsttoc.h"
...@@ -399,19 +399,19 @@ struct _GstElementFactoryClass { ...@@ -399,19 +399,19 @@ struct _GstElementFactoryClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstDeviceMonitorFactory { struct _GstDeviceProviderFactory {
GstPluginFeature feature; GstPluginFeature feature;
/* <private> */ /* <private> */
GType type; /* unique GType the device factory or 0 if not loaded */ GType type; /* unique GType the device factory or 0 if not loaded */
volatile GstDeviceMonitor *monitor; volatile GstDeviceProvider *provider;
gpointer metadata; gpointer metadata;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstDeviceMonitorFactoryClass { struct _GstDeviceProviderFactoryClass {
GstPluginFeatureClass parent; GstPluginFeatureClass parent;
/* <private> */ /* <private> */
......
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
/** /**
* SECTION:gstdevice * SECTION:gstdevice
* @short_description: Object representing a device * @short_description: Object representing a device
* @see_also: #GstDeviceMonitor * @see_also: #GstDeviceProvider
* *
* #GstDevice are objects representing a device, they contain * #GstDevice are objects representing a device, they contain
* relevant metadata about the device, such as its class and the #GstCaps * relevant metadata about the device, such as its class and the #GstCaps
* representing the media types it can produce or handle. * representing the media types it can produce or handle.
* *
* #GstDevice are created by #GstDeviceMonitor objects which can be * #GstDevice are created by #GstDeviceProvider objects which can be
* aggregated by #GstGlobalDeviceMonitor objects. * aggregated by #GstGlobalDeviceMonitor objects.
* *
* Since: 1.4 * Since: 1.4
...@@ -239,7 +239,7 @@ gst_device_get_display_name (GstDevice * device) ...@@ -239,7 +239,7 @@ gst_device_get_display_name (GstDevice * device)
* *
* Gets the "class" of a device. This is a "/" separated list of * Gets the "class" of a device. This is a "/" separated list of
* classes that represent this device. They are a subset of the * classes that represent this device. They are a subset of the
* classes of the #GstDeviceMonitor that produced this device. * classes of the #GstDeviceProvider that produced this device.
* *
* Returns: The device class. Free with g_free() after use. * Returns: The device class. Free with g_free() after use.
* *
......
/* GStreamer /* GStreamer
* Copyright (C) 2012 Olivier Crete <olivier.crete@collabora.com> * Copyright (C) 2012 Olivier Crete <olivier.crete@collabora.com>
* *
* gstdevicemonitor.h: Device probing and monitoring * gstdeviceprovider.h: Device probing and monitoring
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public * modify it under the terms of the GNU Library General Public
...@@ -19,39 +19,39 @@ ...@@ -19,39 +19,39 @@
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
#include <gst/gstdevicemonitorfactory.h> #include <gst/gstdeviceproviderfactory.h>
#ifndef __GST_DEVICE_MONITOR_H__ #ifndef __GST_DEVICE_PROVIDER_H__
#define __GST_DEVICE_MONITOR_H__ #define __GST_DEVICE_PROVIDER_H__
#include <gst/gstelement.h> #include <gst/gstelement.h>
G_BEGIN_DECLS G_BEGIN_DECLS
typedef struct _GstDeviceMonitor GstDeviceMonitor; typedef struct _GstDeviceProvider GstDeviceProvider;
typedef struct _GstDeviceMonitorClass GstDeviceMonitorClass; typedef struct _GstDeviceProviderClass GstDeviceProviderClass;
typedef struct _GstDeviceMonitorPrivate GstDeviceMonitorPrivate; typedef struct _GstDeviceProviderPrivate GstDeviceProviderPrivate;
#define GST_TYPE_DEVICE_MONITOR (gst_device_monitor_get_type()) #define GST_TYPE_DEVICE_PROVIDER (gst_device_provider_get_type())
#define GST_IS_DEVICE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEVICE_MONITOR)) #define GST_IS_DEVICE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DEVICE_PROVIDER))
#define GST_IS_DEVICE_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DEVICE_MONITOR)) #define GST_IS_DEVICE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DEVICE_PROVIDER))
#define GST_DEVICE_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitorClass)) #define GST_DEVICE_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DEVICE_PROVIDER, GstDeviceProviderClass))
#define GST_DEVICE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitor)) #define GST_DEVICE_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DEVICE_PROVIDER, GstDeviceProvider))
#define GST_DEVICE_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DEVICE_MONITOR, GstDeviceMonitorClass)) #define GST_DEVICE_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DEVICE_PROVIDER, GstDeviceProviderClass))
#define GST_DEVICE_MONITOR_CAST(obj) ((GstDeviceMonitor *)(obj)) #define GST_DEVICE_PROVIDER_CAST(obj) ((GstDeviceProvider *)(obj))
/** /**
* GstDeviceMonitor: * GstDeviceProvider:
* @parent: The parent #GstObject * @parent: The parent #GstObject
* @devices: a #GList of the #GstDevice objects * @devices: a #GList of the #GstDevice objects
* *
* The structure of the base #GstDeviceMonitor * The structure of the base #GstDeviceProvider
* *
* Since: 1.4 * Since: 1.4
*/ */
struct _GstDeviceMonitor { struct _GstDeviceProvider {
GstObject parent; GstObject parent;
/* Protected by the Object lock */ /* Protected by the Object lock */
...@@ -59,16 +59,16 @@ struct _GstDeviceMonitor { ...@@ -59,16 +59,16 @@ struct _GstDeviceMonitor {
/*< private >*/ /*< private >*/
GstDeviceMonitorPrivate *priv; GstDeviceProviderPrivate *priv;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
/** /**
* GstDeviceMonitorClass: * GstDeviceProviderClass:
* @parent_class: the parent #GstObjectClass structure * @parent_class: the parent #GstObjectClass structure
* @factory: a pointer to the #GstDeviceMonitorFactory that creates this * @factory: a pointer to the #GstDeviceProviderFactory that creates this
* monitor * provider
* @probe: Returns a list of devices that are currently available. * @probe: Returns a list of devices that are currently available.
* This should never block. * This should never block.
* @start: Starts monitoring for new devices. Only subclasses that can know * @start: Starts monitoring for new devices. Only subclasses that can know
...@@ -76,20 +76,20 @@ struct _GstDeviceMonitor { ...@@ -76,20 +76,20 @@ struct _GstDeviceMonitor {
* @stop: Stops monitoring for new devices. Only subclasses that implement * @stop: Stops monitoring for new devices. Only subclasses that implement
* the start() method need to implement this method. * the start() method need to implement this method.
* *
* The structure of the base #GstDeviceMonitorClass * The structure of the base #GstDeviceProviderClass
* *
* Since: 1.4 * Since: 1.4
*/ */
struct _GstDeviceMonitorClass { struct _GstDeviceProviderClass {
GstObjectClass parent_class; GstObjectClass parent_class;
GstDeviceMonitorFactory *factory; GstDeviceProviderFactory *factory;
GList* (*probe) (GstDeviceMonitor * monitor); GList* (*probe) (GstDeviceProvider * provider);
gboolean (*start) (GstDeviceMonitor * monitor); gboolean (*start) (GstDeviceProvider * provider);
void (*stop) (GstDeviceMonitor * monitor); void (*stop) (GstDeviceProvider * provider);
/*< private >*/ /*< private >*/
gpointer metadata; gpointer metadata;
...@@ -98,45 +98,45 @@ struct _GstDeviceMonitorClass { ...@@ -98,45 +98,45 @@ struct _GstDeviceMonitorClass {
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_device_monitor_get_type (void); GType gst_device_provider_get_type (void);
GList * gst_device_monitor_get_devices (GstDeviceMonitor * monitor); GList * gst_device_provider_get_devices (GstDeviceProvider * provider);
gboolean gst_device_monitor_start (GstDeviceMonitor * monitor); gboolean gst_device_provider_start (GstDeviceProvider * provider);
void gst_device_monitor_stop (GstDeviceMonitor * monitor); void gst_device_provider_stop (GstDeviceProvider * provider);
gboolean gst_device_monitor_can_monitor (GstDeviceMonitor * monitor); gboolean gst_device_provider_can_monitor (GstDeviceProvider * provider);
GstBus * gst_device_monitor_get_bus (GstDeviceMonitor * monitor); GstBus * gst_device_provider_get_bus (GstDeviceProvider * provider);
void gst_device_monitor_device_add (GstDeviceMonitor * monitor, void gst_device_provider_device_add (GstDeviceProvider * provider,
GstDevice * device); GstDevice * device);
void gst_device_monitor_device_remove (GstDeviceMonitor * monitor, void gst_device_provider_device_remove (GstDeviceProvider * provider,
GstDevice * device); GstDevice * device);
/* device monitor class meta data */ /* device provider class meta data */
void gst_device_monitor_class_set_metadata (GstDeviceMonitorClass *klass, void gst_device_provider_class_set_metadata (GstDeviceProviderClass *klass,
const gchar *longname, const gchar *longname,
const gchar *classification, const gchar *classification,
const gchar *description, const gchar *description,
const gchar *author); const gchar *author);
void gst_device_monitor_class_set_static_metadata (GstDeviceMonitorClass *klass, void gst_device_provider_class_set_static_metadata (GstDeviceProviderClass *klass,
const gchar *longname, const gchar *longname,
const gchar *classification, const gchar *classification,
const gchar *description, const gchar *description,
const gchar *author); const gchar *author);
void gst_device_monitor_class_add_metadata (GstDeviceMonitorClass * klass, void gst_device_provider_class_add_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value); const gchar * key, const gchar * value);
void gst_device_monitor_class_add_static_metadata (GstDeviceMonitorClass * klass, void gst_device_provider_class_add_static_metadata (GstDeviceProviderClass * klass,
const gchar * key, const gchar * value); const gchar * key, const gchar * value);
const gchar * gst_device_monitor_class_get_metadata (GstDeviceMonitorClass * klass, const gchar * gst_device_provider_class_get_metadata (GstDeviceProviderClass * klass,
const gchar * key); const gchar * key);
/* factory management */ /* factory management */
GstDeviceMonitorFactory * gst_device_monitor_get_factory (GstDeviceMonitor * monitor); GstDeviceProviderFactory * gst_device_provider_get_factory (GstDeviceProvider * provider);
G_END_DECLS G_END_DECLS
#endif /* __GST_DEVICE_MONITOR_H__ */ #endif /* __GST_DEVICE_PROVIDER_H__ */
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* 2000,2004 Wim Taymans <wim@fluendo.com> * 2000,2004 Wim Taymans <wim@fluendo.com>
* 2012 Olivier Crete <olivier.crete@collabora.com> * 2012 Olivier Crete <olivier.crete@collabora.com>
* *
* gstdevicemonitorfactory.h: Header for GstDeviceMonitorFactory * gstdeviceproviderfactory.h: Header for GstDeviceProviderFactory
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public * modify it under the terms of the GNU Library General Public
...@@ -23,68 +23,68 @@ ...@@ -23,68 +23,68 @@
#ifndef __GST_DEVICE_MONITOR_FACTORY_H__ #ifndef __GST_DEVICE_PROVIDER_FACTORY_H__
#define __GST_DEVICE_MONITOR_FACTORY_H__ #define __GST_DEVICE_PROVIDER_FACTORY_H__
/** /**
* GstDeviceMonitorFactory: * GstDeviceProviderFactory:
* *
* The opaque #GstDeviceMonitorFactory data structure. * The opaque #GstDeviceProviderFactory data structure.
* *
* Since: 1.4 * Since: 1.4
*/ */
/** /**
* GstDeviceMonitorFactoryClass: * GstDeviceProviderFactoryClass:
* *
* The opaque #GstDeviceMonitorFactoryClass data structure. * The opaque #GstDeviceProviderFactoryClass data structure.
* *
* Since: 1.4 * Since: 1.4
*/ */
typedef struct _GstDeviceMonitorFactory GstDeviceMonitorFactory; typedef struct _GstDeviceProviderFactory GstDeviceProviderFactory;
typedef struct _GstDeviceMonitorFactoryClass GstDeviceMonitorFactoryClass; typedef struct _GstDeviceProviderFactoryClass GstDeviceProviderFactoryClass;
#include <gst/gstconfig.h> #include <gst/gstconfig.h>
#include <gst/gstplugin.h> #include <gst/gstplugin.h>
#include <gst/gstpluginfeature.h> #include <gst/gstpluginfeature.h>
#include <gst/gstdevicemonitor.h> #include <gst/gstdeviceprovider.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_DEVICE_MONITOR_FACTORY (gst_device_monitor_factory_get_type()) #define GST_TYPE_DEVICE_PROVIDER_FACTORY (gst_device_provider_factory_get_type())
#define GST_DEVICE_MONITOR_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVICE_MONITOR_FACTORY,\ #define GST_DEVICE_PROVIDER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVICE_PROVIDER_FACTORY,\
GstDeviceMonitorFactory)) GstDeviceProviderFactory))
#define GST_DEVICE_MONITOR_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVICE_MONITOR_FACTORY,\ #define GST_DEVICE_PROVIDER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVICE_PROVIDER_FACTORY,\
GstDeviceMonitorFactoryClass)) GstDeviceProviderFactoryClass))
#define GST_IS_DEVICE_MONITOR_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVICE_MONITOR_FACTORY)) #define GST_IS_DEVICE_PROVIDER_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVICE_PROVIDER_FACTORY))
#define GST_IS_DEVICE_MONITOR_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVICE_MONITOR_FACTORY)) #define GST_IS_DEVICE_PROVIDER_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVICE_PROVIDER_FACTORY))
#define GST_DEVICE_MONITOR_FACTORY_CAST(obj) ((GstDeviceMonitorFactory *)(obj)) #define GST_DEVICE_PROVIDER_FACTORY_CAST(obj) ((GstDeviceProviderFactory *)(obj))
GType gst_device_monitor_factory_get_type (void); GType gst_device_provider_factory_get_type (void);
GstDeviceMonitorFactory * gst_device_monitor_factory_find (const gchar *name); GstDeviceProviderFactory * gst_device_provider_factory_find (const gchar *name);
GType gst_device_monitor_factory_get_device_monitor_type (GstDeviceMonitorFactory *factory); GType gst_device_provider_factory_get_device_provider_type (GstDeviceProviderFactory *factory);
const gchar * gst_device_monitor_factory_get_metadata (GstDeviceMonitorFactory *factory, const gchar *key); const gchar * gst_device_provider_factory_get_metadata (GstDeviceProviderFactory *factory, const gchar *key);
gchar ** gst_device_monitor_factory_get_metadata_keys (GstDeviceMonitorFactory *factory); gchar ** gst_device_provider_factory_get_metadata_keys (GstDeviceProviderFactory *factory);
GstDeviceMonitor* gst_device_monitor_factory_get (GstDeviceMonitorFactory *factory) G_GNUC_MALLOC; GstDeviceProvider* gst_device_provider_factory_get (GstDeviceProviderFactory *factory) G_GNUC_MALLOC;
GstDeviceMonitor* gst_device_monitor_factory_get_by_name (const gchar *factoryname) G_GNUC_MALLOC; GstDeviceProvider* gst_device_provider_factory_get_by_name (const gchar *factoryname) G_GNUC_MALLOC;