CAudioError(EError err);
CAudioError(EError err, const char* fileName, const char* parentFunc, int lineNum);
CAudioError(EError err, const char* msg, const char* fileName, const char* parentFunc, int lineNum);
- //CAudioError(CAudioError& err);
+ CAudioError(const CAudioError& err);
~CAudioError();
/* Static Methods */
virtual ~CAudioIO();
/* Pure Virtual Methods */
- virtual void initialize() throw(CAudioError) = 0;
+ virtual void initialize() = 0;
virtual void finalize() = 0;
- virtual void prepare() throw(CAudioError) = 0;
- virtual void unprepare() throw(CAudioError) = 0;
+ virtual void prepare() = 0;
+ virtual void unprepare() = 0;
- virtual void pause() throw(CAudioError) = 0;
- virtual void resume() throw(CAudioError) = 0;
+ virtual void pause() = 0;
+ virtual void resume() = 0;
- virtual void drain() throw(CAudioError) = 0;
- virtual void flush() throw(CAudioError) = 0;
+ virtual void drain() = 0;
+ virtual void flush() = 0;
- virtual int getBufferSize() throw(CAudioError) = 0;
+ virtual int getBufferSize() = 0;
/* Implemented Handlers */
virtual void onStream(CPulseAudioClient* pClient, size_t length);
virtual void onStateChanged(CAudioInfo::EAudioIOState state, bool byPolicy);
virtual void onStateChanged(CAudioInfo::EAudioIOState state);
- virtual void 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);
+ virtual void 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);
virtual void onSignal(CAudioSessionHandler* pHandler, mm_sound_signal_name_t signal, int value);
/* Methods */
- CAudioInfo& getAudioInfo() throw(CAudioError);
+ CAudioInfo& getAudioInfo();
- virtual void setStreamCallback(SStreamCallback callback) throw(CAudioError);
- SStreamCallback getStreamCallback() throw(CAudioError);
+ virtual void setStreamCallback(SStreamCallback callback);
+ SStreamCallback getStreamCallback();
- virtual void setStateChangedCallback(SStateChangedCallback callback) throw(CAudioError);
- SStateChangedCallback getStateChangedCallback() throw(CAudioError);
+ virtual void setStateChangedCallback(SStateChangedCallback callback);
+ SStateChangedCallback getStateChangedCallback();
- void setInterruptCallback(SInterruptCallback callback) throw(CAudioError);
- SInterruptCallback getInterruptCallback() throw(CAudioError);
+ void setInterruptCallback(SInterruptCallback callback);
+ SInterruptCallback getInterruptCallback();
- void ignoreSession() throw(CAudioError);
+ void ignoreSession();
- void setStreamInfo(sound_stream_info_h stream_info) throw(CAudioError);
+ void setStreamInfo(sound_stream_info_h stream_info);
- void setInternalStreamInfo() throw(CAudioError); /* this is for session backward compatibility and will be removed later */
+ void setInternalStreamInfo(); /* this is for session backward compatibility and will be removed later */
CAudioInfo::EAudioIOState getState();
virtual bool isInit();
virtual bool IsReady();
- void internalLock() throw(CAudioError);
- void internalUnlock() throw(CAudioError);
- void internalWait() throw(CAudioError);
- void internalSignal() throw(CAudioError);
+ void internalLock();
+ void internalUnlock();
+ void internalWait();
+ void internalSignal();
bool isForceIgnore();
bool __mIsInit;
bool __mForceIgnore;
- void abandonInternalFocus() throw(CAudioError); /* this is for session backward compatibility and will be removed later */
+ void abandonInternalFocus(); /* this is for session backward compatibility and will be removed later */
};
/* Constructors */
CAudioInfo();
- CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex) throw(CAudioError);
+ CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex);
/* Setter & Getter */
unsigned int getSampleRate();
virtual void onSignal(CAudioSessionHandler* pHandler, mm_sound_signal_name_t signal, int value);
/* Implemented Methods */
- virtual void initialize() throw(CAudioError);
+ virtual void initialize();
virtual void finalize();
- virtual void prepare() throw(CAudioError);
- virtual void unprepare() throw(CAudioError);
+ virtual void prepare();
+ virtual void unprepare();
- virtual void pause() throw(CAudioError);
- virtual void resume() throw(CAudioError);
+ virtual void pause();
+ virtual void resume();
- virtual void drain() throw(CAudioError);
- virtual void flush() throw(CAudioError);
+ virtual void drain();
+ virtual void flush();
- virtual int getBufferSize() throw(CAudioError);
+ virtual int getBufferSize();
/* Overridden Methods */
- virtual void setStreamCallback(SStreamCallback callback) throw(CAudioError);
+ virtual void setStreamCallback(SStreamCallback callback);
/* Methods */
- size_t read(void* buffer, size_t length) throw(CAudioError);
- int peek(const void** buffer, size_t* length) throw(CAudioError);
- int drop() throw(CAudioError);
+ size_t read(void* buffer, size_t length);
+ int peek(const void** buffer, size_t* length);
+ int drop();
private:
/* Private Methods */
virtual void onSignal(CAudioSessionHandler* pHandler, mm_sound_signal_name_t signal, int value);
/* Implemented Methods */
- virtual void initialize() throw(CAudioError);
+ virtual void initialize();
virtual void finalize();
- virtual void prepare() throw(CAudioError);
- virtual void unprepare() throw(CAudioError);
+ virtual void prepare();
+ virtual void unprepare();
- virtual void pause() throw(CAudioError);
- virtual void resume() throw(CAudioError);
+ virtual void pause();
+ virtual void resume();
- virtual void drain() throw(CAudioError);
- virtual void flush() throw(CAudioError);
+ virtual void drain();
+ virtual void flush();
- virtual int getBufferSize() throw(CAudioError);
+ virtual int getBufferSize();
/* Methods */
- size_t write(const void* buffer, size_t length) throw(CAudioError);
+ size_t write(const void* buffer, size_t length);
private:
/* Private Methods */
virtual ~CAudioSessionHandler();
/* Methods */
- virtual void initialize() throw(CAudioError);
+ virtual void initialize();
virtual void finalize();
bool isSkipSession();
- void registerSound() throw(CAudioError);
- void unregisterSound() throw(CAudioError);
+ void registerSound();
+ void unregisterSound();
- void updatePlaying() throw(CAudioError);
- void updateStop() throw(CAudioError);
- void disableSessionHandler() throw(CAudioError);
+ void updatePlaying();
+ void updateStop();
+ void disableSessionHandler();
/* Setter & Getter */
int getId();
~CPulseAudioClient();
/* Implemented Methods */
- void initialize() throw(CAudioError);
+ void initialize();
void finalize();
/* Methods */
- int read(void* buffer, size_t length) throw(CAudioError);
- int peek(const void** buffer, size_t* length) throw(CAudioError);
- int drop() throw(CAudioError);
- int write(const void* buffer, size_t length) throw(CAudioError);
+ int read(void* buffer, size_t length);
+ int peek(const void** buffer, size_t* length);
+ int drop();
+ int write(const void* buffer, size_t length);
- void cork(bool cork) throw(CAudioError);
- bool isCorked() throw(CAudioError);
+ void cork(bool cork);
+ bool isCorked();
- bool drain() throw(CAudioError);
- bool flush() throw(CAudioError);
+ bool drain();
+ bool flush();
- void checkRunningState() throw(CAudioError);
- bool isInThread() throw(CAudioError);
+ void checkRunningState();
+ bool isInThread();
- size_t getWritableSize() throw(CAudioError);
- size_t getReadableSize() throw(CAudioError);
+ size_t getWritableSize();
+ size_t getReadableSize();
- size_t getBufferSize() throw(CAudioError);
+ size_t getBufferSize();
- pa_usec_t getLatency() throw(CAudioError);
- pa_usec_t getFinalLatency() throw(CAudioError);
+ pa_usec_t getLatency();
+ pa_usec_t getFinalLatency();
/* Setter & Getter */
EStreamDirection getStreamDirection();
~CPulseAudioPolicy();
/* getter & setter */
- void setPolicy(EPolicy policy) throw(CAudioError);
+ void setPolicy(EPolicy policy);
EPolicy getPolicy();
/* Override */
};
/* Constructor & Destructor */
- CPulseStreamSpec() throw(CAudioError);
- CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) throw(CAudioError);
- CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo, int customLatency) throw(CAudioError);
+ CPulseStreamSpec();
+ CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo);
+ CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo, int customLatency);
~CPulseStreamSpec();
/* Setter & Getter */
private:
/* Private Methods */
- void __adjustSpec() throw(CAudioError);
+ void __adjustSpec();
/* Members */
EStreamLatency __mLatency;
Name: capi-media-audio-io
Summary: An Audio Input & Audio Output library in Tizen Native API
-Version: 0.3.78
+Version: 0.3.79
Release: 0
Group: Multimedia/API
License: Apache-2.0
__mLastError = __mError;
const char* findFileName = strrchr(fileName, '/');
- findFileName++;
+ if (findFileName)
+ findFileName++;
const char* errStr = __convertErrorToString(__mError);
snprintf(__mErrorMsg, CAudioError::MSG_LENGTH, "["
__mLastError = __mError;
const char* findFileName = strrchr(fileName, '/');
- findFileName++;
+ if (findFileName)
+ findFileName++;
const char* errStr = __convertErrorToString(__mError);
snprintf(__mErrorMsg, CAudioError::MSG_LENGTH, "["
snprintf(__mLastErrorMsg, CAudioError::MSG_LENGTH, "LastError:%s", __mErrorMsg);
}
-//CAudioError::CAudioError(CAudioError& err) {
-// __mError = err.__mError;
-// strncpy(__mErrorMsg, err.__mErrorMsg, MSG_LENGTH);
-//}
+CAudioError::CAudioError(const CAudioError& err) {
+ __mError = err.__mError;
+ memcpy(__mErrorMsg, err.__mErrorMsg, MSG_LENGTH);
+}
CAudioError::~CAudioError() {
}
return ((mState == CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING || mState == CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED)? true : false);
}
-void CAudioIO::internalLock() throw(CAudioError) {
+void CAudioIO::internalLock() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
#endif
}
-void CAudioIO::internalUnlock() throw(CAudioError) {
+void CAudioIO::internalUnlock() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
#endif
}
-void CAudioIO::internalWait() throw(CAudioError) {
+void CAudioIO::internalWait() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
pthread_cond_wait(&__mCond, &__mMutex);
}
-void CAudioIO::internalSignal() throw(CAudioError) {
+void CAudioIO::internalSignal() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return __mForceIgnore;
}
-void CAudioIO::initialize() throw(CAudioError) {
+void CAudioIO::initialize() {
if (__mIsInit == true) {
return;
}
}
}
-void CAudioIO::prepare() throw(CAudioError) {
+void CAudioIO::prepare() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
try {
AUDIO_IO_LOGD("------> prepare done");
/* Do nothing */
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-void CAudioIO::unprepare() throw(CAudioError) {
+void CAudioIO::unprepare() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
try {
AUDIO_IO_LOGD("unprepare ----->");
/* Do nothing */
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-void CAudioIO::pause() throw(CAudioError) {
+void CAudioIO::pause() {
if (__mIsInit == false || IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO");
}
AUDIO_IO_LOGD("pause");
mpPulseAudioClient->cork(true);
internalUnlock();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioIO::resume() throw(CAudioError) {
+void CAudioIO::resume() {
if (__mIsInit == false || IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO");
}
AUDIO_IO_LOGD("resume");
mpPulseAudioClient->cork(false);
internalUnlock();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioIO::drain() throw(CAudioError) {
+void CAudioIO::drain() {
if (__mIsInit == false || IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO");
}
mpPulseAudioClient->drain();
internalUnlock();
}
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
if (!mpPulseAudioClient->isInThread()) {
internalUnlock();
}
- throw e;
+ throw;
}
}
-void CAudioIO::flush() throw(CAudioError) {
+void CAudioIO::flush() {
if (__mIsInit == false || IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO");
}
mpPulseAudioClient->flush();
internalUnlock();
}
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
if (!mpPulseAudioClient->isInThread()) {
internalUnlock();
}
- throw e;
+ throw;
}
}
-CAudioInfo& CAudioIO::getAudioInfo() throw(CAudioError) {
+CAudioInfo& CAudioIO::getAudioInfo() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return mAudioInfo;
}
-void CAudioIO::setStreamCallback(SStreamCallback callback) throw(CAudioError) {
+void CAudioIO::setStreamCallback(SStreamCallback callback) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
mStreamCallback = callback;
}
-CAudioIO::SStreamCallback CAudioIO::getStreamCallback() throw(CAudioError) {
+CAudioIO::SStreamCallback CAudioIO::getStreamCallback() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return mStreamCallback;
}
-void CAudioIO::setStateChangedCallback(SStateChangedCallback callback) throw(CAudioError) {
+void CAudioIO::setStateChangedCallback(SStateChangedCallback callback) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
mStateChangedCallback = callback;
}
-CAudioIO::SStateChangedCallback CAudioIO::getStateChangedCallback() throw(CAudioError) {
+CAudioIO::SStateChangedCallback CAudioIO::getStateChangedCallback() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return mStateChangedCallback;
}
-void CAudioIO::setInterruptCallback(SInterruptCallback callback) throw(CAudioError) {
+void CAudioIO::setInterruptCallback(SInterruptCallback callback) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
mInterruptCallback = callback;
}
-CAudioIO::SInterruptCallback CAudioIO::getInterruptCallback() throw(CAudioError) {
+CAudioIO::SInterruptCallback CAudioIO::getInterruptCallback() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return mInterruptCallback;
}
-void CAudioIO::ignoreSession() throw(CAudioError) {
+void CAudioIO::ignoreSession() {
if (__mIsInit == false)
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
abandonInternalFocus();
internalUnlock();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioIO::setStreamInfo(sound_stream_info_h stream_info) throw(CAudioError) {
+void CAudioIO::setStreamInfo(sound_stream_info_h stream_info) {
if (stream_info == NULL)
THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_ARGUMENT, "stream_info is NULL");
getAudioInfo().setAudioIndex(index);
AUDIO_IO_LOGD("stream info(%p) is set", stream_info);
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-void CAudioIO::setInternalStreamInfo() throw(CAudioError) {
+void CAudioIO::setInternalStreamInfo() {
if (__mIsInit == false)
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
AUDIO_IO_LOGD("get internal VOIP stream info(%p)", stream_info);
setStreamInfo(stream_info);
}
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-void CAudioIO::abandonInternalFocus() throw(CAudioError) {
+void CAudioIO::abandonInternalFocus() {
bool isSkip = mpAudioSessionHandler->isSkipSession();
int id = mpAudioSessionHandler->getId();
mpAudioSessionHandler->finalize();
__mForceIgnore = true;
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
__mAudioIndex(-1) {
}
-CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex) throw(CAudioError) :
+CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex) :
__mSampleRate(sampleRate),
__mChannel(channel),
__mSampleType(sampleType),
return prData.isPrivilegeAllowed;
}
-void CAudioInput::initialize() throw(CAudioError) {
+void CAudioInput::initialize() {
if (__IsInit() == true) {
return;
}
__setInit(true);
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
- } catch (CAudioError err) {
+ } catch (CAudioError& e) {
finalize();
- throw err;
- } catch (std::bad_alloc&) {
+ throw;
+ } catch (const std::bad_alloc&) {
finalize();
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CAudioSessionHandler object");
}
__setInit(false);
}
-void CAudioInput::prepare() throw(CAudioError) {
+void CAudioInput::prepare() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CAudioInput");
}
// Do Prepare
CAudioIO::prepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
- } catch (std::bad_alloc&) {
+ throw;
+ } catch (const std::bad_alloc&) {
internalUnlock();
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CPulseAudioClient object");
}
}
-void CAudioInput::unprepare() throw(CAudioError) {
+void CAudioInput::unprepare() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize CAudioInput");
}
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioInput::pause() throw(CAudioError) {
+void CAudioInput::pause() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
internalUnlock();
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioInput::resume() throw(CAudioError) {
+void CAudioInput::resume() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
CAudioIO::resume();
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioInput::drain() throw(CAudioError) {
+void CAudioInput::drain() {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_SUPPORTED, "Did not support drain of CAudioInput");
}
-void CAudioInput::flush() throw(CAudioError) {
+void CAudioInput::flush() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
try {
CAudioIO::flush();
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-int CAudioInput::getBufferSize() throw(CAudioError) {
+int CAudioInput::getBufferSize() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CAudioInput");
}
return (mAudioInfo.getSampleRate() * DEFAULT_PERIOD_SIZE) / 1000 * mAudioInfo.getSampleSize();
}
-void CAudioInput::setStreamCallback(SStreamCallback callback) throw(CAudioError) {
+void CAudioInput::setStreamCallback(SStreamCallback callback) {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CAudioInput");
}
CAudioIO::setStreamCallback(callback);
}
-size_t CAudioInput::read(void* buffer, size_t length) throw(CAudioError) {
+size_t CAudioInput::read(void* buffer, size_t length) {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
internalUnlock();
sched_yield();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
return ret;
}
-int CAudioInput::peek(const void** buffer, size_t* length) throw(CAudioError) {
+int CAudioInput::peek(const void** buffer, size_t* length) {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
try {
ret = mpPulseAudioClient->peek(buffer, length);
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
return ret;
}
-int CAudioInput::drop() throw(CAudioError) {
+int CAudioInput::drop() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioInput");
try {
ret = mpPulseAudioClient->drop();
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
return ret;
return CAudioIO::IsReady();
}
-void CAudioOutput::initialize() throw(CAudioError) {
+void CAudioOutput::initialize() {
if (__IsInit() == true) {
return;
}
__setInit(true);
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
- } catch (CAudioError err) {
+ } catch (CAudioError& e) {
finalize();
- throw err;
- } catch (std::bad_alloc&) {
+ throw;
+ } catch (const std::bad_alloc&) {
finalize();
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CAudioSessionHandler object");
}
__setInit(false);
}
-void CAudioOutput::prepare() throw(CAudioError) {
+void CAudioOutput::prepare() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CAudioOutput");
}
internalUnlock();
CAudioIO::prepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
- } catch (std::bad_alloc&) {
+ throw;
+ } catch (const std::bad_alloc&) {
internalUnlock();
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed to allocate CPulseAudioClient object");
}
}
-void CAudioOutput::unprepare() throw(CAudioError) {
+void CAudioOutput::unprepare() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize CAudioOutput");
}
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_IDLE);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioOutput::pause() throw(CAudioError) {
+void CAudioOutput::pause() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
internalUnlock();
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioOutput::resume() throw(CAudioError) {
+void CAudioOutput::resume() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
CAudioIO::resume();
CAudioIO::onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
internalUnlock();
- throw e;
+ throw;
}
}
-void CAudioOutput::drain() throw(CAudioError) {
+void CAudioOutput::drain() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
try {
CAudioIO::drain();
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-void CAudioOutput::flush() throw(CAudioError) {
+void CAudioOutput::flush() {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
try {
CAudioIO::flush();
- } catch (CAudioError e) {
- throw e;
+ } catch (CAudioError& e) {
+ throw;
}
}
-int CAudioOutput::getBufferSize() throw(CAudioError) {
+int CAudioOutput::getBufferSize() {
if (__IsInit() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
return (mAudioInfo.getSampleRate() * DEFAULT_PERIOD_SIZE) / 1000 * mAudioInfo.getSampleSize();
}
-size_t CAudioOutput::write(const void* buffer, size_t length) throw(CAudioError) {
+size_t CAudioOutput::write(const void* buffer, size_t length) {
if (__IsInit() == false || __IsReady() == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED,
"Did not initialize or prepare CAudioOutput");
__mIsUsedSyncWrite = false;
internalUnlock();
sched_yield();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
__mIsUsedSyncWrite = false;
internalUnlock();
- throw e;
+ throw;
}
return length;
pHandler->__mpEventListener->onSignal(pHandler, signal, value);
}
-void CAudioSessionHandler::initialize() throw(CAudioError) {
+void CAudioSessionHandler::initialize() {
AUDIO_IO_LOGD("");
if (__mIsInit == true) {
return;
return;
}
-void CAudioSessionHandler::registerSound() throw(CAudioError) {
+void CAudioSessionHandler::registerSound() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioSessionHandler");
}
}
}
-void CAudioSessionHandler::unregisterSound() throw(CAudioError) {
+void CAudioSessionHandler::unregisterSound() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioSessionHandler");
}
}
}
-void CAudioSessionHandler::updatePlaying() throw(CAudioError) {
+void CAudioSessionHandler::updatePlaying() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioSessionHandler");
}
}
}
-void CAudioSessionHandler::updateStop() throw(CAudioError) {
+void CAudioSessionHandler::updateStop() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioSessionHandler");
}
}
}
-void CAudioSessionHandler::disableSessionHandler() throw(CAudioError) {
+void CAudioSessionHandler::disableSessionHandler() {
CAudioSessionHandler::updateStop();
CAudioSessionHandler::unregisterSound();
pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
}
-void CPulseAudioClient::initialize() throw(CAudioError) {
+void CPulseAudioClient::initialize() {
if (__mIsInit == true) {
return;
}
pa_threaded_mainloop_unlock(__mpMainloop);
// __mIsInit = true; // Moved to __streamStateChangeCb()
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
finalize();
- throw e;
+ throw;
}
}
__mIsInit = false;
}
-int CPulseAudioClient::read(void* buffer, size_t length) throw(CAudioError) {
+int CPulseAudioClient::read(void* buffer, size_t length) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
pa_threaded_mainloop_unlock(__mpMainloop);
__mIsUsedSyncRead = false;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
pa_threaded_mainloop_unlock(__mpMainloop);
__mIsUsedSyncRead = false;
- throw e;
+ throw;
}
return length;
}
-int CPulseAudioClient::peek(const void** buffer, size_t* length) throw(CAudioError) {
+int CPulseAudioClient::peek(const void** buffer, size_t* length) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return ret;
}
-int CPulseAudioClient::drop() throw(CAudioError) {
+int CPulseAudioClient::drop() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return ret;
}
-int CPulseAudioClient::write(const void* data, size_t length) throw(CAudioError) {
+int CPulseAudioClient::write(const void* data, size_t length) {
if (data == NULL) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The parameter is invalid");
}
return ret;
}
-void CPulseAudioClient::cork(bool cork) throw(CAudioError) {
+void CPulseAudioClient::cork(bool cork) {
AUDIO_IO_LOGD("cork[%d]", cork);
if (__mIsInit == false) {
return;
}
-bool CPulseAudioClient::isCorked() throw(CAudioError) {
+bool CPulseAudioClient::isCorked() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return static_cast<bool>(isCork);
}
-bool CPulseAudioClient::drain() throw(CAudioError) {
+bool CPulseAudioClient::drain() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return true;
}
-bool CPulseAudioClient::flush() throw(CAudioError) {
+bool CPulseAudioClient::flush() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return true;
}
-size_t CPulseAudioClient::getWritableSize() throw(CAudioError) {
+size_t CPulseAudioClient::getWritableSize() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return ret;
}
-void CPulseAudioClient::checkRunningState() throw(CAudioError) {
+void CPulseAudioClient::checkRunningState() {
if (__mpContext == NULL || PA_CONTEXT_IS_GOOD(pa_context_get_state(__mpContext)) == 0) {
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_INITIALIZED, "The context[%p] is not created or not good state", __mpContext);
}
#endif
}
-bool CPulseAudioClient::isInThread() throw(CAudioError) {
+bool CPulseAudioClient::isInThread() {
int ret = pa_threaded_mainloop_in_thread(__mpMainloop);
#ifdef _AUDIO_IO_DEBUG_TIMING_
return static_cast<bool>(ret);
}
-size_t CPulseAudioClient::getReadableSize() throw(CAudioError) {
+size_t CPulseAudioClient::getReadableSize() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
return ret;
}
-size_t CPulseAudioClient::getBufferSize() throw(CAudioError) {
+size_t CPulseAudioClient::getBufferSize() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
ret = attr->fragsize;
AUDIO_IO_LOGD("RECORD buffer size[%d]", ret);
}
- } catch (CAudioError err) {
+ } catch (CAudioError& e) {
if (isInThread() == false) {
pa_threaded_mainloop_unlock(__mpMainloop);
}
- throw err;
+ throw;
}
if (isInThread() == false) {
return ret;
}
-pa_usec_t CPulseAudioClient::getLatency() throw(CAudioError) {
+pa_usec_t CPulseAudioClient::getLatency() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
/* Wait until latency data is available again */
pa_threaded_mainloop_wait(__mpMainloop);
}
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
pa_threaded_mainloop_unlock(__mpMainloop);
- throw e;
+ throw;
}
pa_threaded_mainloop_unlock(__mpMainloop);
return negative ? 0 : ret;
}
-pa_usec_t CPulseAudioClient::getFinalLatency() throw(CAudioError) {
+pa_usec_t CPulseAudioClient::getFinalLatency() {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize CPulseAudioClient");
}
if (isInThread() == false) {
pa_threaded_mainloop_unlock(__mpMainloop);
}
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
if (isInThread() == false) {
pa_threaded_mainloop_unlock(__mpMainloop);
}
- throw e;
+ throw;
}
return ret;
CPulseAudioPolicy::~CPulseAudioPolicy() {
}
-void CPulseAudioPolicy::setPolicy(EPolicy policy) throw(CAudioError) {
+void CPulseAudioPolicy::setPolicy(EPolicy policy) {
if (policy < EPolicy::POLICY_DEFAULT || policy >= EPolicy::POLICY_MAX) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The argument is out of range");
}
static const char* STREAM_LATENCY_DEFAULT = "default";
-CPulseStreamSpec::CPulseStreamSpec() throw(CAudioError) :
+CPulseStreamSpec::CPulseStreamSpec():
__mLatency(EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT),
__mStreamName(NULL) {
__adjustSpec();
}
-CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) throw(CAudioError) :
+CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) :
__mLatency(latency),
__mAudioInfo(audioInfo),
__mStreamName(NULL) {
__adjustSpec();
}
-CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo, int customLatency) throw(CAudioError) :
+CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo, int customLatency) :
__mLatency(latency),
__mAudioInfo(audioInfo),
__mStreamName(NULL) {
CPulseStreamSpec::~CPulseStreamSpec() {
}
-void CPulseStreamSpec::__adjustSpec() throw(CAudioError) {
+void CPulseStreamSpec::__adjustSpec() {
// Sets a sampleRate
__mSampleSpec.rate = __mAudioInfo.getSampleRate();
return dst_state;
}
-static void __check_audio_param(int sample_rate, audio_channel_e channel, audio_sample_type_e type) throw(CAudioError) {
+static void __check_audio_param(int sample_rate, audio_channel_e channel, audio_sample_type_e type) {
if (sample_rate < 0) {
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Invalid sample rate :%d", sample_rate);
}
}
}
-static void __check_audio_param(int sample_rate, audio_channel_e channel, audio_sample_type_e type, sound_type_e sound_type) throw(CAudioError) {
+static void __check_audio_param(int sample_rate, audio_channel_e channel, audio_sample_type_e type, sound_type_e sound_type) {
__check_audio_param(sample_rate, channel, type);
if (sound_type < SOUND_TYPE_SYSTEM || sound_type > SOUND_TYPE_VOICE) {
}
}
-static CAudioInfo __generate_audio_input_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type) throw(CAudioError) {
+static CAudioInfo __generate_audio_input_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type) {
CAudioInfo::EChannel dstChannel;
CAudioInfo::ESampleType dstSampleType;
CAudioInfo::EAudioType dstAudioType = CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA;
return CAudioInfo(sampleRate, dstChannel, dstSampleType, dstAudioType, -1);
}
-static CAudioInfo __generate_audio_input_loopback_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type) throw(CAudioError) {
+static CAudioInfo __generate_audio_input_loopback_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type) {
CAudioInfo::EChannel dstChannel;
CAudioInfo::ESampleType dstSampleType;
CAudioInfo::EAudioType dstAudioType = CAudioInfo::EAudioType::AUDIO_IN_TYPE_LOOPBACK;
return CAudioInfo(sampleRate, dstChannel, dstSampleType, dstAudioType, -1);
}
-static CAudioInfo __generate_audio_output_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type, sound_type_e sound_type) throw(CAudioError) {
+static CAudioInfo __generate_audio_output_info(int sampleRate, audio_channel_e channel, audio_sample_type_e sample_type, sound_type_e sound_type) {
CAudioInfo::EChannel dstChannel;
CAudioInfo::ESampleType dstSampleType;
CAudioInfo::EAudioType dstAudioType;
handle->audioIoHandle->initialize();
*input = handle;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
__handle_safe_free(handle, (void *)input, false);
return __convert_CAudioError(e);
- } catch (std::bad_alloc&) {
+ } catch (const std::bad_alloc&) {
CAudioError e = CAudioError::EError::ERROR_OUT_OF_MEMORY;
AUDIO_IO_LOGE("Failed to allocate handle");
__handle_safe_free(handle, (void *)input, false);
handle->audioIoHandle->initialize();
*input = handle;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
__handle_safe_free(handle, (void *)input, false);
return __convert_CAudioError(e);
- } catch (std::bad_alloc&) {
+ } catch (const std::bad_alloc&) {
CAudioError e = CAudioError::EError::ERROR_OUT_OF_MEMORY;
AUDIO_IO_LOGE("Failed to allocate handle");
__handle_safe_free(handle, (void *)input, false);
SAFE_FINALIZE(handle->audioIoHandle);
SAFE_DELETE(handle->audioIoHandle);
SAFE_DELETE(handle);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->setStreamInfo(stream_info);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->prepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->unprepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->pause();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->resume();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->drain();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->flush();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
#ifdef _AUDIO_IO_DEBUG_TIMING_
AUDIO_IO_LOGD("readn:%d", readn);
#endif
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_HANDLE, "Handle is NULL");
}
*size = inputHandle->getBufferSize();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
*sample_rate = handle->audioIoHandle->getAudioInfo().getSampleRate();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
__convert_audio_info_channel_2_channel(srcChannel, dstChannel);
*channel = dstChannel;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
__convert_audio_info_sample_type_2_sample_type(srcSampleType, dstSampleType);
*type = dstSampleType;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onInterrupt = __interrupt_cb_internal;
handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onInterrupt = NULL;
handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->ignoreSession();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStream = __stream_cb_internal;
handle->audioIoHandle->setStreamCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStream = NULL;
handle->audioIoHandle->setStreamCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
}
inputHandle->peek(buffer, &_length);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
}
inputHandle->drop();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStateChanged = __state_changed_cb_internal;
handle->audioIoHandle->setStateChangedCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStateChanged = NULL;
handle->audioIoHandle->setStateChangedCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
handle->audioIoHandle->initialize();
*output = handle;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
__handle_safe_free(handle, (void *)output, true);
return __convert_CAudioError(e);
- } catch (std::bad_alloc&) {
+ } catch (const std::bad_alloc&) {
CAudioError e = CAudioError::EError::ERROR_OUT_OF_MEMORY;
AUDIO_IO_LOGE("Failed to allocate handle");
__handle_safe_free(handle, (void *)output, true);
handle->audioIoHandle->initialize();
*output = handle;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
__handle_safe_free(handle, (void *)output, true);
return __convert_CAudioError(e);
- } catch (std::bad_alloc&) {
+ } catch (const std::bad_alloc&) {
CAudioError e = CAudioError::EError::ERROR_OUT_OF_MEMORY;
AUDIO_IO_LOGE("Failed to allocate handle");
__handle_safe_free(handle, (void *)output, true);
SAFE_FINALIZE(handle->audioIoHandle);
SAFE_DELETE(handle->audioIoHandle);
SAFE_DELETE(handle);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->setStreamInfo(stream_info);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->prepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->unprepare();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->pause();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->resume();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->drain();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->flush();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
#ifdef _AUDIO_IO_DEBUG_TIMING_
AUDIO_IO_LOGD("written:%d", written);
#endif
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_HANDLE, "Handle is NULL");
}
*size = outputHandle->getBufferSize();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
*sample_rate = handle->audioIoHandle->getAudioInfo().getSampleRate();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
__convert_audio_info_channel_2_channel(srcChannel, dstChannel);
*channel = dstChannel;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
__convert_audio_info_sample_type_2_sample_type(srcSampleType, dstSampleType);
*type = dstSampleType;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
__convert_audio_info_audio_type_2_sound_type(srcAudioType, dstSoundType);
*type = dstSoundType;
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onInterrupt = __interrupt_cb_internal;
handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onInterrupt = NULL;
handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
assert(handle->audioIoHandle);
handle->audioIoHandle->ignoreSession();
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStream = __stream_cb_internal;
handle->audioIoHandle->setStreamCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStream = NULL;
handle->audioIoHandle->setStreamCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStateChanged = __state_changed_cb_internal;
handle->audioIoHandle->setStateChangedCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
cb.onStateChanged = NULL;
handle->audioIoHandle->setStateChangedCallback(cb);
- } catch (CAudioError e) {
+ } catch (CAudioError& e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
}
goto exit;
}
+ char *buffer = alloca(size);
+
while (1) {
- char *buffer = alloca(size);
if ((ret = audio_in_read(input, (void *)buffer, size)) > AUDIO_IO_ERROR_NONE) {
fwrite(buffer, size, sizeof(char), fp);
printf("PASS, size=%d, ret=0x%x\n", size, ret);
int audio_io_loopback_test()
{
int ret, size;
- audio_in_h input;
- audio_out_h output;
+ audio_in_h input = NULL;
+ audio_out_h output = NULL;
char *buffer = NULL;
ret = audio_in_create(16000, AUDIO_CHANNEL_MONO, AUDIO_SAMPLE_TYPE_S16_LE, &input);
ret = audio_out_create_new(16000, AUDIO_CHANNEL_MONO, AUDIO_SAMPLE_TYPE_S16_LE, &output);
if (ret != AUDIO_IO_ERROR_NONE) {
printf("audio_out_create failed. \n");
- return ret;
+ goto exit;
}
ret = audio_in_prepare(input);
if (ret != 0) {
printf("audio_in_prepare failed, err(0x%x)\n", ret);
- audio_in_destroy(input);
- return ret;
+ goto exit;
} else {
ret = audio_in_get_buffer_size(input, &size);
if (ret != AUDIO_IO_ERROR_NONE) {
printf("audio_in_get_buffer_size failed, err(0x%x)\n", ret);
- return 0;
+ goto exit;
} else {
printf("size(%d)\n", size);
buffer = alloca(size);
ret = audio_out_prepare(output);
if (ret != 0) {
printf("audio_out_prepare failed, err(0x%x)\n", ret);
- audio_out_destroy(output);
- return ret;
+ goto exit;
}
if (buffer == NULL) {
printf("buffer is null\n");
- return -1;
+ ret = -1;
+ goto exit;
}
while (1) {
printf("audio read/write failed. buffer(%p), size(%d)\n", buffer, size);
}
+exit:
+ if (input)
+ audio_in_destroy(input);
+ if (output)
+ audio_out_destroy(output);
+
+ return ret;
+
}
audio_in_h input;