summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@theqtcompany.com>2016-01-08 17:46:20 +0100
committerYoann Lopes <yoann.lopes@theqtcompany.com>2016-01-11 14:17:22 +0000
commitc953ef391086f4b689f6adc6d29cb8021db64845 (patch)
treef017358e1572b8089ffe577aebbc3ca71c05cd40 /src/plugins
parent9f35d7763e50676eb8521eaaf4542eaf6851c769 (diff)
downloadqtmultimedia-c953ef391086f4b689f6adc6d29cb8021db64845.tar.gz
Android: Don't call restartViewfinder() for audio only recordings.
Calling restartViewfinder() would try to access m_cameraSession without checking if it was valid. This change adds guards around the calls to restartViewfinder(), and one in the function itself. Task-number: QTBUG-50282 Change-Id: I1f2b4d2b2342bf2dc2b7f28a7bcd00e08a0edb44 Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/android/src/mediacapture/qandroidcapturesession.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp b/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp
index f2ea1b9d7..cf62e6100 100644
--- a/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp
+++ b/src/plugins/android/src/mediacapture/qandroidcapturesession.cpp
@@ -219,13 +219,15 @@ void QAndroidCaptureSession::start()
if (!m_mediaRecorder->prepare()) {
emit error(QMediaRecorder::FormatError, QLatin1String("Unable to prepare the media recorder."));
- restartViewfinder();
+ if (m_cameraSession)
+ restartViewfinder();
return;
}
if (!m_mediaRecorder->start()) {
emit error(QMediaRecorder::FormatError, QLatin1String("Unable to start the media recorder."));
- restartViewfinder();
+ if (m_cameraSession)
+ restartViewfinder();
return;
}
@@ -418,6 +420,9 @@ void QAndroidCaptureSession::updateViewfinder()
void QAndroidCaptureSession::restartViewfinder()
{
+ if (!m_cameraSession)
+ return;
+
m_cameraSession->camera()->reconnect();
m_cameraSession->camera()->startPreview();
m_cameraSession->setReadyForCapture(true);