fixup! Reset dump values when pause function is called
[platform/core/api/audio-io.git] / include / CAudioOutput.h
index 1378653..8b9b0bc 100644 (file)
@@ -32,43 +32,44 @@ namespace tizen_media_audio {
     class CAudioOutput : public CAudioIO {
     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);
+        void onStream(CPulseAudioClient* pClient, size_t length) override;
+        void onCorked(CPulseAudioClient* pClient, bool corked) override;
 
         /* Implemented Methods */
-        virtual void initialize();
-        virtual void finalize();
+        void initialize() override;
+        void finalize() override;
 
-        virtual void prepare();
-        virtual void unprepare();
+        void prepare() override;
+        void unprepare() override;
 
-        virtual void pause();
-        virtual void resume();
+        void pause() override;
+        void resume() override;
 
-        virtual void drain();
-        virtual void flush();
+        void drain();
+        void flush() override;
 
-        virtual int  getBufferSize();
+        int getBufferSize() override;
 
         /* Methods */
         size_t write(const void* buffer, size_t length);
 
     private:
         /* Private Methods */
-        void __setInit(bool flag);
-        bool __IsInit();
-        bool __IsReady();
+        void __setInit(bool flag) noexcept;
+        bool __IsInit() noexcept;
+        bool __IsReady() noexcept;
+        void __dumpStat() noexcept;
+        void __dumpStat(size_t length) noexcept;
 
-        bool __mIsUsedSyncWrite;
-        bool __mIsInit;
+        bool __mIsUsedSyncWrite {};
+        bool __mIsInit {};
+
+        std::atomic<uint64_t> __mTotalWrittenCount {};
+        std::atomic<uint64_t> __mTotalWrittenBytes {};
     };