* A class CAudioOutput that inherited from CAudioIO
*/
class CAudioOutput : public CAudioIO {
- private:
- bool mIsUsedSyncWrite;
- bool mIsInit;
-
- /* Private Methods */
- void setInit(bool flag);
- bool IsInit();
- bool IsReady();
-
public:
/* Constructor & Destructor */
- CAudioOutput(CAudioInfo& info);
- CAudioOutput(
- unsigned int smapleRate,
- CAudioInfo::EChannel channel,
- CAudioInfo::ESampleType sampleType,
- CAudioInfo::EAudioType type);
- ~CAudioOutput();
+ explicit CAudioOutput(CAudioInfo& info);
+ ~CAudioOutput() = default;
/* Overridden Handler */
- virtual void onStream(CPulseAudioClient* pClient, size_t length);
- 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);
+ void onStream(CPulseAudioClient* pClient, size_t length) override;
+ void onCorked(CPulseAudioClient* pClient, bool corked) override;
/* Implemented Methods */
- virtual void initialize() throw (CAudioError);
- virtual void finalize();
+ void initialize() override;
+ void finalize() override;
- virtual void prepare() throw (CAudioError);
- virtual void unprepare() throw (CAudioError);
+ void prepare() override;
+ void unprepare() override;
- virtual void pause() throw (CAudioError);
- virtual void resume() throw (CAudioError);
+ void pause() override;
+ void resume() override;
- virtual void drain() throw (CAudioError);
- virtual void flush() throw (CAudioError);
+ void drain();
+ void flush() override;
- virtual int getBufferSize() throw (CAudioError);
+ int getBufferSize() override;
/* Methods */
- int write(const void* buffer, unsigned int length) throw (CAudioError);
+ size_t write(const void* buffer, size_t length);
+
+ private:
+ /* Private Methods */
+ void __setInit(bool flag) noexcept;
+ bool __IsInit() noexcept;
+ bool __IsReady() noexcept;
+ void __dumpStat() noexcept;
+ void __dumpStat(size_t length) noexcept;
+
+ bool __mIsUsedSyncWrite {};
+ bool __mIsInit {};
+
+ std::atomic<uint64_t> __mTotalWrittenCount {};
+ std::atomic<uint64_t> __mTotalWrittenBytes {};
};
+
} /* namespace tizen_media_audio */
#endif