From 8ba1e65291b162f8e8aee515294507fc4e3b93d6 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Wed, 12 Aug 2015 14:13:43 +0200 Subject: [PATCH] Fix camera plugin selection. When requesting a camera plugin for a given device id, it should fall back to any available plugin if that device id is not found. Change-Id: I685294c7fdcaa72bce70178b0aae2ec92e79e107 Reviewed-by: Christian Stromme --- src/multimedia/qmediaserviceprovider.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index c852e3e7..38d31eac 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -359,19 +359,14 @@ public: } break; case QMediaServiceProviderHint::Device: { + plugin = plugins[0]; foreach (QMediaServiceProviderPlugin *currentPlugin, plugins) { QMediaServiceSupportedDevicesInterface *iface = qobject_cast(currentPlugin); - if (!iface) { - // the plugin may support the device, - // but this choice still can be overridden + if (iface && iface->devices(type).contains(hint.device())) { plugin = currentPlugin; - } else { - if (iface->devices(type).contains(hint.device())) { - plugin = currentPlugin; - break; - } + break; } } }