diff options
author | Andy Shaw <andy.shaw@qt.io> | 2021-03-25 12:14:30 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-04-06 05:49:33 +0000 |
commit | 5298dcaa5d07410128594d7f37124f7d93d5dc86 (patch) | |
tree | cee91a64f72aab9a80c7a9149c1b63554c0d0752 /src/plugins/avfoundation | |
parent | 1c9da622dc7e8ac6fa42f5263a5410098073b662 (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>
Diffstat (limited to 'src/plugins/avfoundation')
-rw-r--r-- | src/plugins/avfoundation/camera/avfcamerarenderercontrol.mm | 3 |
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); |