diff options
Diffstat (limited to 'src/multimedia/qmediaserviceprovider.cpp')
-rw-r--r-- | src/multimedia/qmediaserviceprovider.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index c852e3e7c..38d31eac2 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<QMediaServiceSupportedDevicesInterface*>(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; } } } |