summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp')
-rw-r--r--src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp32
1 files changed, 10 insertions, 22 deletions
diff --git a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
index 17c3c1f64..9b3ee40af 100644
--- a/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
+++ b/src/multimedia/platform/android/mediacapture/qandroidcapturesession.cpp
@@ -57,7 +57,6 @@ QAndroidCaptureSession::QAndroidCaptureSession()
: QObject()
, m_mediaRecorder(0)
, m_cameraSession(0)
- , m_audioSource(AndroidMediaRecorder::DefaultAudioSource)
, m_duration(0)
, m_state(QMediaRecorder::StoppedState)
, m_outputFormat(AndroidMediaRecorder::DefaultOutputFormat)
@@ -102,26 +101,7 @@ void QAndroidCaptureSession::setCameraSession(QAndroidCameraSession *cameraSessi
void QAndroidCaptureSession::setAudioInput(QPlatformAudioInput *input)
{
- if (m_audioInput == input)
- return;
-
m_audioInput = input;
-
- QString id = input ? QString::fromLatin1(input->device.id()) : QString();
- if (id == QLatin1String("default"))
- m_audioSource = AndroidMediaRecorder::DefaultAudioSource;
- else if (id == QLatin1String("mic"))
- m_audioSource = AndroidMediaRecorder::Mic;
- else if (id == QLatin1String("voice_uplink"))
- m_audioSource = AndroidMediaRecorder::VoiceUplink;
- else if (id == QLatin1String("voice_downlink"))
- m_audioSource = AndroidMediaRecorder::VoiceDownlink;
- else if (id == QLatin1String("voice_call"))
- m_audioSource = AndroidMediaRecorder::VoiceCall;
- else if (id == QLatin1String("voice_recognition"))
- m_audioSource = AndroidMediaRecorder::VoiceRecognition;
- else
- m_audioSource = AndroidMediaRecorder::DefaultAudioSource;
}
QMediaRecorder::RecorderState QAndroidCaptureSession::state() const
@@ -140,6 +120,11 @@ void QAndroidCaptureSession::start(const QMediaEncoderSettings &, const QUrl &ou
m_mediaRecorder = nullptr;
}
+ if (!m_cameraSession && !m_audioInput) {
+ Q_EMIT error(QMediaRecorder::ResourceError, QLatin1String("Audio Input device not set"));
+ return;
+ }
+
const bool granted = m_cameraSession
? m_cameraSession->requestRecordingPermission()
: qt_androidRequestRecordingPermission();
@@ -159,8 +144,11 @@ void QAndroidCaptureSession::start(const QMediaEncoderSettings &, const QUrl &ou
m_mediaRecorder->setCamera(m_cameraSession->camera());
m_mediaRecorder->setAudioSource(AndroidMediaRecorder::Camcorder);
m_mediaRecorder->setVideoSource(AndroidMediaRecorder::Camera);
- } else {
- m_mediaRecorder->setAudioSource(m_audioSource);
+ }
+
+ if (m_audioInput) {
+ m_mediaRecorder->setAudioInput(m_audioInput->device.id());
+ m_mediaRecorder->setAudioSource(AndroidMediaRecorder::DefaultAudioSource);
}
// Set output format