summaryrefslogtreecommitdiffstats
path: root/src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-06-07 12:06:52 +0200
committerLiang Qi <liang.qi@qt.io>2017-06-07 12:52:58 +0200
commit7fdb88a86b0782e7170eefe3dfe7ab3e9c81f847 (patch)
tree0fb34738dd5b4abd222ffac7b25f904c456006d9 /src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm
parentbadecdbc46df6ada383f1dfd006fa3dfff1706c6 (diff)
parenta6cc1af0546ab10701c10475315139ebb50ad1e5 (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: .qmake.conf Change-Id: I20470ed193e818eefedd975d89f755fb9d673241
Diffstat (limited to 'src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm')
-rw-r--r--src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm b/src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm
index 5f604e9a0..d657dc17d 100644
--- a/src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm
+++ b/src/plugins/avfoundation/camera/avfmediarecordercontrol_ios.mm
@@ -340,7 +340,7 @@ void AVFMediaRecorderControlIOS::assetWriterFinished()
Q_ASSERT(cameraControl);
const QMediaRecorder::Status lastStatus = m_lastStatus;
-
+ const QMediaRecorder::State lastState = m_state;
if (cameraControl->captureMode() & QCamera::CaptureVideo)
m_lastStatus = QMediaRecorder::LoadedStatus;
else
@@ -350,9 +350,11 @@ void AVFMediaRecorderControlIOS::assetWriterFinished()
m_service->videoOutput()->resetCaptureDelegate();
[m_service->session()->captureSession() startRunning];
-
+ m_state = QMediaRecorder::StoppedState;
if (m_lastStatus != lastStatus)
Q_EMIT statusChanged(m_lastStatus);
+ if (m_state != lastState)
+ Q_EMIT stateChanged(m_state);
}
void AVFMediaRecorderControlIOS::captureModeChanged(QCamera::CaptureModes newMode)
@@ -403,10 +405,8 @@ void AVFMediaRecorderControlIOS::cameraStatusChanged(QCamera::Status newStatus)
void AVFMediaRecorderControlIOS::stopWriter()
{
if (m_lastStatus == QMediaRecorder::RecordingStatus) {
- m_state = QMediaRecorder::StoppedState;
m_lastStatus = QMediaRecorder::FinalizingStatus;
- Q_EMIT stateChanged(m_state);
Q_EMIT statusChanged(m_lastStatus);
[m_writer stop];