summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/avfoundation/camera/avfcameraservice.mm11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/avfoundation/camera/avfcameraservice.mm b/src/plugins/avfoundation/camera/avfcameraservice.mm
index fd473b37b..20156f06f 100644
--- a/src/plugins/avfoundation/camera/avfcameraservice.mm
+++ b/src/plugins/avfoundation/camera/avfcameraservice.mm
@@ -203,18 +203,15 @@ QMediaControl *AVFCameraService::requestControl(const char *name)
void AVFCameraService::releaseControl(QMediaControl *control)
{
- if (m_videoOutput == control) {
- m_session->setVideoOutput(0);
- delete m_videoOutput;
- m_videoOutput = 0;
- }
AVFMediaVideoProbeControl *videoProbe = qobject_cast<AVFMediaVideoProbeControl *>(control);
if (videoProbe) {
m_session->removeProbe(videoProbe);
delete videoProbe;
- return;
+ } else if (m_videoOutput == control) {
+ m_session->setVideoOutput(0);
+ delete m_videoOutput;
+ m_videoOutput = 0;
}
-
}
AVFMediaRecorderControl *AVFCameraService::recorderControl() const