Android: correctly report QMediaRecorder actual output location.
Report the recorded media location to have changed only when recording is finished and successful. Change-Id: Iee7565b9ba12d9de09f86dffb34c40936fee198c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
This commit is contained in:
committed by
The Qt Project
parent
29ba8cf4c4
commit
cd0533166f
@@ -130,7 +130,6 @@ bool QAndroidCaptureSession::setOutputLocation(const QUrl &location)
|
|||||||
|
|
||||||
if (m_requestedOutputLocation.isValid()
|
if (m_requestedOutputLocation.isValid()
|
||||||
&& (m_requestedOutputLocation.isLocalFile() || m_requestedOutputLocation.isRelative())) {
|
&& (m_requestedOutputLocation.isLocalFile() || m_requestedOutputLocation.isRelative())) {
|
||||||
emit actualLocationChanged(m_requestedOutputLocation);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,10 +220,7 @@ bool QAndroidCaptureSession::start()
|
|||||||
: QLatin1String("REC_"),
|
: QLatin1String("REC_"),
|
||||||
m_containerFormat);
|
m_containerFormat);
|
||||||
|
|
||||||
m_actualOutputLocation = QUrl::fromLocalFile(filePath);
|
m_usedOutputLocation = QUrl::fromLocalFile(filePath);
|
||||||
if (m_actualOutputLocation != m_requestedOutputLocation)
|
|
||||||
emit actualLocationChanged(m_actualOutputLocation);
|
|
||||||
|
|
||||||
m_mediaRecorder->setOutputFile(filePath);
|
m_mediaRecorder->setOutputFile(filePath);
|
||||||
|
|
||||||
if (!m_mediaRecorder->prepare()) {
|
if (!m_mediaRecorder->prepare()) {
|
||||||
@@ -282,8 +278,10 @@ void QAndroidCaptureSession::stop(bool error)
|
|||||||
: JMultimediaUtils::getDefaultMediaDirectory(JMultimediaUtils::Sounds);
|
: JMultimediaUtils::getDefaultMediaDirectory(JMultimediaUtils::Sounds);
|
||||||
if (mediaPath.startsWith(standardLoc))
|
if (mediaPath.startsWith(standardLoc))
|
||||||
JMultimediaUtils::registerMediaFile(mediaPath);
|
JMultimediaUtils::registerMediaFile(mediaPath);
|
||||||
}
|
|
||||||
|
|
||||||
|
m_actualOutputLocation = m_usedOutputLocation;
|
||||||
|
emit actualLocationChanged(m_actualOutputLocation);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QAndroidCaptureSession::setStatus(QMediaRecorder::Status status)
|
void QAndroidCaptureSession::setStatus(QMediaRecorder::Status status)
|
||||||
|
|||||||
@@ -160,6 +160,7 @@ private:
|
|||||||
QMediaRecorder::State m_state;
|
QMediaRecorder::State m_state;
|
||||||
QMediaRecorder::Status m_status;
|
QMediaRecorder::Status m_status;
|
||||||
QUrl m_requestedOutputLocation;
|
QUrl m_requestedOutputLocation;
|
||||||
|
QUrl m_usedOutputLocation;
|
||||||
QUrl m_actualOutputLocation;
|
QUrl m_actualOutputLocation;
|
||||||
|
|
||||||
CaptureProfile m_defaultSettings;
|
CaptureProfile m_defaultSettings;
|
||||||
|
|||||||
Reference in New Issue
Block a user