CAudioIO::onStream(pClient, length);
}
-void CAudioInput::onInterrupt(CAudioSessionHandler* pHandler, int id, mm_sound_focus_type_e focus_type,
- mm_sound_focus_state_e state, const char *reason_for_change, const char *additional_info) {
- assert(pHandler);
- AUDIO_IO_LOGD("[pHandler:%p], [focus_type:%d], [state:%d], [reason_for_change:%s], [additional_info:%s]",
- pHandler, focus_type, state, reason_for_change, additional_info);
-
- CAudioIO::onInterrupt(pHandler, id, focus_type, state, reason_for_change, additional_info);
-}
-
-void CAudioInput::onSignal(CAudioSessionHandler* pHandler, mm_sound_signal_name_t signal, int value) {
- assert(pHandler);
- AUDIO_IO_LOGD("[pHandler:%p], [signal:%d], [value:%d]", pHandler, signal, value);
-
- CAudioIO::onSignal(pHandler, signal, value);
-}
-
void CAudioInput::__setInit(bool flag) {
__mIsInit = flag;
}
if (__IsInit() == true)
return;
- try {
- CAudioIO::initialize();
- } catch (CAudioError& e) {
- finalize();
- throw;
- }
-
if (__IsPrivilegeAllowed() == false)
THROW_ERROR_MSG(CAudioError::EError::ERROR_PERMISSION_DENIED, "No privilege for record");
try {
- internalSessionLock();
- mpAudioSessionHandler = new CAudioSessionHandler(CAudioSessionHandler::EAudioSessionType::AUDIO_SESSION_TYPE_CAPTURE, mAudioInfo, this);
- mpAudioSessionHandler->initialize();
- internalSessionUnlock();
+ CAudioIO::initialize();
+ __setInit(true);
} catch (CAudioError& e) {
- internalSessionUnlock();
finalize();
throw;
- } catch (const std::bad_alloc&) {
- internalSessionUnlock();
- finalize();
- THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CAudioSessionHandler object");
}
- __setInit(true);
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
}
return;
}
- internalSessionLock();
- SAFE_FINALIZE(mpAudioSessionHandler);
- SAFE_DELETE(mpAudioSessionHandler);
- internalSessionUnlock();
-
CAudioIO::finalize();
__setInit(false);
"The audioType is invalid [type:%d]", static_cast<int>(audioType));
try {
- internalSessionLock();
- if (mpAudioSessionHandler &&
- mpAudioSessionHandler->getId() < 0) { // Did not registerSound()
- if (isForceIgnore() == false &&
- mpAudioSessionHandler->isSkipSession() == false) {
- AUDIO_IO_LOGD("Register ASM Listener");
- mpAudioSessionHandler->registerSound();
- }
- }
- internalSessionUnlock();
- } catch (CAudioError& e) {
- internalSessionUnlock();
- throw;
- }
-
- CAudioIO::setInternalStreamInfo();
-
- try {
- internalSessionLock();
- if (isSessionEnabled() && isForceIgnore() == false)
- mpAudioSessionHandler->updatePlaying();
- internalSessionUnlock();
- } catch (CAudioError& e) {
- internalSessionUnlock();
- throw;
- }
-
- try {
/* Init StreamSpec */
AUDIO_IO_LOGD("Set Stream Spec : CPulseStreamSpec::STREAM_LATENCY_INPUT_DEFAULT");
CPulseStreamSpec::EStreamLatency streamSpec = CPulseStreamSpec::EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT;
internalUnlock();
throw;
} catch (const std::bad_alloc&) {
+//LCOV_EXCL_START
internalUnlock();
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CPulseAudioClient object");
+//LCOV_EXCL_STOP
}
}
throw;
}
- try {
- internalSessionLock();
- if (isSessionEnabled() && isForceIgnore() == false)
- mpAudioSessionHandler->updateStop();
- internalSessionUnlock();
-
- CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
- } catch (CAudioError& e) {
- internalSessionUnlock();
- throw;
- }
+ CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
}
void CAudioInput::pause() {
try {
internalLock();
- if (mIsInterrupted)
- THROW_ERROR_MSG(CAudioError::EError::ERROR_POLICY_BLOCKED, "audio-io is interrupted");
// If another thread did call unprepare, do not read
if (mpPulseAudioClient == NULL)