fixup! Reset dump values when pause function is called
[platform/core/api/audio-io.git] / include / CAudioOutput.h
index 59de7e3..8b9b0bc 100644 (file)
@@ -30,49 +30,49 @@ namespace tizen_media_audio {
      * 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