diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2014-06-24 17:08:03 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@digia.com> | 2014-06-30 16:03:26 +0200 |
commit | c8b88cd02752fb623f65dc3fe930d60fc00fd15d (patch) | |
tree | c71677a12af92058e835ba4df3b37a852c6c7b41 | |
parent | 23d7bf7ac882b899c7500611b0d57f4b2993d8e2 (diff) | |
download | qtmultimedia-c8b88cd02752fb623f65dc3fe930d60fc00fd15d.tar.gz |
Android: fix crash when stopping the camera while a recording is active
When unloading the camera, any active recording is automatically
stopped, which in turn triggers the viewfinder to be restarted...
We don't try anymore to restart the viewfinder after stopping recording
unless the camera is still active.
Change-Id: I77e4e3fc8d7116ac660d8bb23f6c400ebed4ffed
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
-rw-r--r-- | src/plugins/android/src/mediacapture/qandroidcapturesession.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp b/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp index 44901a6c1..c053c8e38 100644 --- a/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp +++ b/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp @@ -269,7 +269,7 @@ void QAndroidCaptureSession::stop(bool error) delete m_mediaRecorder; m_mediaRecorder = 0; - if (m_cameraSession) { + if (m_cameraSession && m_cameraSession->status() == QCamera::ActiveStatus) { // Viewport needs to be restarted after recording restartViewfinder(); } @@ -516,6 +516,7 @@ void QAndroidCaptureSession::updateStatus() if (m_cameraSession->status() == QCamera::StoppingStatus || !m_cameraSession->captureMode().testFlag(QCamera::CaptureVideo)) { setState(QMediaRecorder::StoppedState); + return; } if (m_state == QMediaRecorder::RecordingState) { |