summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVal Doroshchuk <valentyn.doroshchuk@qt.io>2019-01-16 15:42:59 +0100
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-01-28 14:29:34 +0000
commit488224dcbf84e49cc8dca3765210a0cd31d295ba (patch)
treecd80964b42e70edb19f2b157a0a959932075bdcc /src
parent401c32de3e0834c025cf80838e5f5442e3c4601b (diff)
Return default camera with not empty name
QCameraInfo::defaultCamera() should not return empty name. QCamera() uses first found camera service. QCamera(QCameraInfo::defaultCamera()) uses the service which supports provided camera's name. Change-Id: I7a18b111997a605881eb6ec9788cb6e1d324c011 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp4
-rw-r--r--src/multimedia/qmediaserviceprovider.cpp7
2 files changed, 7 insertions, 4 deletions
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index e9c708a21..c255f45d8 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -181,8 +181,8 @@ QDeclarativeCamera::QDeclarativeCamera(QObject *parent) :
m_pendingState(ActiveState),
m_componentComplete(false)
{
- m_camera = new QCamera;
- m_currentCameraInfo = QCameraInfo(*m_camera);
+ m_currentCameraInfo = QCameraInfo::defaultCamera();
+ m_camera = new QCamera(m_currentCameraInfo);
m_imageCapture = new QDeclarativeCameraCapture(m_camera);
m_videoRecorder = new QDeclarativeCameraRecorder(m_camera);
diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp
index 4166ff8eb..023c13008 100644
--- a/src/multimedia/qmediaserviceprovider.cpp
+++ b/src/multimedia/qmediaserviceprovider.cpp
@@ -576,8 +576,11 @@ public:
const QMediaServiceDefaultDeviceInterface *iface =
qobject_cast<QMediaServiceDefaultDeviceInterface*>(obj);
- if (iface)
- return iface->defaultDevice(serviceType);
+ if (iface) {
+ QByteArray name = iface->defaultDevice(serviceType);
+ if (!name.isEmpty())
+ return name;
+ }
}
// if QMediaServiceDefaultDeviceInterface is not implemented, return the