AVFoundation: return correct viewfinder settings.

When the camera is unloaded, return the requested settings.

Change-Id: If39e158cd8d0fd8d4bbd7cf6cd48226cdefc1272
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
Yoann Lopes
2016-03-11 15:34:13 +01:00
parent 40924657e9
commit c8090b7952

View File

@@ -339,7 +339,7 @@ QList<QCameraViewfinderSettings> AVFCameraViewfinderSettingsControl2::supportedV
QCameraViewfinderSettings AVFCameraViewfinderSettingsControl2::viewfinderSettings() const QCameraViewfinderSettings AVFCameraViewfinderSettingsControl2::viewfinderSettings() const
{ {
QCameraViewfinderSettings settings; QCameraViewfinderSettings settings = m_settings;
AVCaptureDevice *captureDevice = m_service->session()->videoCaptureDevice(); AVCaptureDevice *captureDevice = m_service->session()->videoCaptureDevice();
if (!captureDevice) { if (!captureDevice) {
@@ -347,6 +347,11 @@ QCameraViewfinderSettings AVFCameraViewfinderSettingsControl2::viewfinderSetting
return settings; return settings;
} }
if (m_service->session()->state() != QCamera::LoadedState &&
m_service->session()->state() != QCamera::ActiveState) {
return settings;
}
#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_7, __IPHONE_7_0) #if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_7, __IPHONE_7_0)
if (QSysInfo::MacintoshVersion >= qt_OS_limit(QSysInfo::MV_10_7, QSysInfo::MV_IOS_7_0)) { if (QSysInfo::MacintoshVersion >= qt_OS_limit(QSysInfo::MV_10_7, QSysInfo::MV_IOS_7_0)) {
if (!captureDevice.activeFormat) { if (!captureDevice.activeFormat) {