manager: disable our own provider

Disable our own provider or else we would react to our own sources.
This commit is contained in:
Wim Taymans 2015-07-09 17:35:13 +02:00
parent be762c326c
commit 9895395ab9

View file

@ -104,6 +104,25 @@ bus_handler (GstBus *bus,
return TRUE;
}
static void
disable_pinos_provider (PinosGstManager *manager)
{
GList *factories = NULL;
factories = gst_device_provider_factory_list_get_device_providers (1);
while (factories) {
GstDeviceProviderFactory *factory = factories->data;
if (strcmp (GST_OBJECT_NAME (factory), "pinosdeviceprovider") == 0) {
gst_plugin_feature_set_rank (GST_PLUGIN_FEATURE (factory), 0);
}
factories = g_list_remove (factories, factory);
gst_object_unref (factory);
}
}
static void
start_monitor (PinosGstManager *manager)
{
@ -111,6 +130,8 @@ start_monitor (PinosGstManager *manager)
GstBus *bus;
GList *devices;
disable_pinos_provider (manager);
priv->monitor = gst_device_monitor_new ();
bus = gst_device_monitor_get_bus (priv->monitor);