summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/android/src/mediacapture/qandroidcamerasession.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp b/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp
index b1b3f848e..6051cf964 100644
--- a/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp
+++ b/src/plugins/android/src/mediacapture/qandroidcamerasession.cpp
@@ -286,8 +286,10 @@ void QAndroidCameraSession::close()
void QAndroidCameraSession::setVideoPreview(QObject *videoOutput)
{
- if (m_videoOutput)
+ if (m_videoOutput) {
m_videoOutput->stop();
+ m_videoOutput->reset();
+ }
if (videoOutput) {
connect(videoOutput, SIGNAL(readyChanged(bool)), this, SLOT(onVideoOutputReady(bool)));
@@ -368,8 +370,12 @@ void QAndroidCameraSession::stopPreview()
m_camera->stopPreview();
m_camera->setPreviewSize(QSize());
- if (m_videoOutput)
+ m_camera->setPreviewTexture(0);
+
+ if (m_videoOutput) {
m_videoOutput->stop();
+ m_videoOutput->reset();
+ }
m_previewStarted = false;
}