class CAudioInput : public CAudioIO {
public:
/* Constructor & Destructor */
- CAudioInput(CAudioInfo& info);
- CAudioInput(
- unsigned int sampleRate,
- CAudioInfo::EChannel channel,
- CAudioInfo::ESampleType sampleType,
- CAudioInfo::EAudioType audioType);
- ~CAudioInput();
+ explicit CAudioInput(CAudioInfo& info);
+ ~CAudioInput() = default;
/* Overridden Handler */
- virtual void onStream(CPulseAudioClient* pClient, size_t length);
+ void onStream(CPulseAudioClient* pClient, size_t length) 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 flush();
+ void flush() override;
- virtual int getBufferSize();
+ int getBufferSize() override;
/* Overridden Methods */
- virtual void setStreamCallback(SStreamCallback callback);
+ void setStreamCallback(SStreamCallback callback) override;
/* Methods */
size_t read(void* buffer, size_t length);
int peek(const void** buffer, size_t* length);
int drop();
+ void setVolume(double volume);
+ double getVolume();
+
private:
/* Private Methods */
- void __setInit(bool flag);
- bool __IsInit();
- bool __IsReady();
+ void __setInit(bool flag) noexcept;
+ bool __IsInit() noexcept;
+ bool __IsReady() noexcept;
+
+ bool __mIsUsedSyncRead { true };
+ bool __mIsInit {};
- bool __mIsUsedSyncRead;
- bool __mIsInit;
+ double __mVolume { CAudioInfo::DEFAULT_RECORD_VOLUME };
};