X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2FCAudioIO.h;h=3a84a75ebcd9d5dd4926265dfa0c66328be6e5c2;hb=b991401f92f2064a91ddff4432560d29bfc53aff;hp=2d92b399d9ad4a9e3599d44f2b78ca94ab8a0994;hpb=0b8b2ffbac0f905312b5dcc0337df7a57f1b1123;p=platform%2Fcore%2Fapi%2Faudio-io.git diff --git a/include/CAudioIO.h b/include/CAudioIO.h index 2d92b39..3a84a75 100644 --- a/include/CAudioIO.h +++ b/include/CAudioIO.h @@ -17,10 +17,11 @@ #ifndef __TIZEN_MEDIA_AUDIO_IO_CAUDIO_IO_H__ #define __TIZEN_MEDIA_AUDIO_IO_CAUDIO_IO_H__ -#include - #ifdef __cplusplus +#include +#include +#include namespace tizen_media_audio { @@ -75,28 +76,21 @@ namespace tizen_media_audio { explicit CAudioIO(CAudioInfo& audioInfo); virtual ~CAudioIO() = default; - /* Pure Virtual Methods */ - virtual void initialize() = 0; - virtual void finalize() = 0; - - virtual void prepare() = 0; - virtual void unprepare() = 0; - - virtual void pause() = 0; - virtual void resume() = 0; - - /* FIXME : drain needed to be moved to sub-class */ - virtual void drain(); - virtual void flush() = 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); /* Methods */ + virtual void initialize(); + virtual void finalize(); + virtual void prepare(); + virtual void unprepare(); + virtual void pause(); + virtual void resume(); + virtual void flush(); + virtual int getBufferSize() = 0; + CAudioInfo& getAudioInfo(); virtual void setStreamCallback(SStreamCallback callback); @@ -115,11 +109,6 @@ namespace tizen_media_audio { virtual bool isInit(); virtual bool IsReady(); - void internalLock(); - void internalUnlock(); - void internalWait(); - void internalSignal(); - CPulseAudioClient* mpPulseAudioClient; CAudioInfo mAudioInfo; @@ -130,11 +119,11 @@ namespace tizen_media_audio { CAudioInfo::EAudioIOState mState; CAudioInfo::EAudioIOState mStatePrev; bool mByPolicy; + std::mutex mMutex; + std::mutex mCondMutex; + std::condition_variable mCond; private: - pthread_mutex_t __mMutex; - pthread_mutex_t __mCondMutex; - pthread_cond_t __mCond; bool __mIsInit; };