diff options
Diffstat (limited to 'src/plugins/avfoundation/camera/avfcameraservice.mm')
-rw-r--r-- | src/plugins/avfoundation/camera/avfcameraservice.mm | 11 |
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 |