diff options
author | Val Doroshchuk <valentyn.doroshchuk@qt.io> | 2019-01-16 15:42:59 +0100 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2019-01-28 14:29:34 +0000 |
commit | 488224dcbf84e49cc8dca3765210a0cd31d295ba (patch) | |
tree | cd80964b42e70edb19f2b157a0a959932075bdcc /src | |
parent | 401c32de3e0834c025cf80838e5f5442e3c4601b (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.cpp | 4 | ||||
-rw-r--r-- | src/multimedia/qmediaserviceprovider.cpp | 7 |
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 |