summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2021-03-25 12:14:30 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-04-06 05:49:33 +0000
commit5298dcaa5d07410128594d7f37124f7d93d5dc86 (patch)
treecee91a64f72aab9a80c7a9149c1b63554c0d0752
parent1c9da622dc7e8ac6fa42f5263a5410098073b662 (diff)
AVFoundation: Only remove the video output if it is still attached
If the video output is no longer attached then it will cause a crash if you try to remove it, so we need to check it is attached before removing. Change-Id: I90a119ae8e605ee88740248c94c7cea03acf4d50 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 8b72da5f4b2d81444c731bc4e8eafca59e693bf6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm b/src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm
index cad424018..75b73ae99 100644
--- a/src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm
+++ b/src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm
@@ -278,7 +278,8 @@ AVFCameraRendererControl::AVFCameraRendererControl(QObject *parent)
AVFCameraRendererControl::~AVFCameraRendererControl()
{
- [m_cameraSession->captureSession() removeOutput:m_videoDataOutput];
+ if ([m_cameraSession->captureSession().outputs containsObject:m_videoDataOutput])
+ [m_cameraSession->captureSession() removeOutput:m_videoDataOutput];
[m_viewfinderFramesDelegate release];
if (m_delegateQueue)
dispatch_release(m_delegateQueue);