diff options
author | Andy Shaw <andy.shaw@qt.io> | 2021-03-25 12:14:30 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@qt.io> | 2021-04-05 20:10:57 +0100 |
commit | 8b72da5f4b2d81444c731bc4e8eafca59e693bf6 (patch) | |
tree | 4e25812aeb843f869a8b6b099ea7a0be8806c21c | |
parent | e10622759d179f8ae304c0bef8a6f56ea7d0dc23 (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.
Pick-to: 5.15
Change-Id: I90a119ae8e605ee88740248c94c7cea03acf4d50
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-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 a03d38b8c..5b3f34874 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); |