From 32167441748e357ae14cc2673f4c5899ce3877c0 Mon Sep 17 00:00:00 2001 From: Seungbae Shin Date: Wed, 2 Aug 2023 13:40:49 +0900 Subject: [PATCH] Use in-class initializer for class members https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-in-class-initializer In addition, use const keyword on function for const getters [Version] 0.5.60 [Issue Type] Refactoring Change-Id: I587cd5fa2865c01227ec8e56a3ae317a41bcb2ae --- include/CAudioIO.h | 29 +++++++++----------------- include/CAudioInfo.h | 42 +++++++++++++++++++------------------- include/CAudioInput.h | 6 +++--- include/CAudioOutput.h | 8 ++++---- include/CPulseAudioClient.h | 36 ++++++++++++++++---------------- include/CPulseStreamSpec.h | 17 +++++++-------- packaging/capi-media-audio-io.spec | 2 +- src/cpp/CAudioIO.cpp | 18 +--------------- src/cpp/CAudioInfo.cpp | 34 +++++++++--------------------- src/cpp/CAudioInput.cpp | 5 +---- src/cpp/CAudioOutput.cpp | 6 +----- src/cpp/CPulseAudioClient.cpp | 15 +------------- src/cpp/CPulseStreamSpec.cpp | 21 ++++++------------- 13 files changed, 84 insertions(+), 155 deletions(-) diff --git a/include/CAudioIO.h b/include/CAudioIO.h index 0e14ade..4cb769e 100644 --- a/include/CAudioIO.h +++ b/include/CAudioIO.h @@ -34,12 +34,8 @@ namespace tizen_media_audio { class CAudioIO : public IPulseStreamListener { public: struct SStreamCallback { - void* mUserData; - void (*onStream)(size_t nbytes, void* user_data); - - SStreamCallback() : mUserData(nullptr), onStream(nullptr) { - /* Empty Body */ - } + void* mUserData {}; + void (*onStream)(size_t nbytes, void* user_data) {}; void set(void (*callback)(size_t, void*), void* userdata) { onStream = callback; @@ -53,12 +49,8 @@ namespace tizen_media_audio { }; struct SStateChangedCallback { - void* mUserData; - void (*onStateChanged)(CAudioInfo::EAudioIOState state, CAudioInfo::EAudioIOState statePrev, bool byPolicy, void* user_data); - - SStateChangedCallback() : mUserData(nullptr), onStateChanged(nullptr) { - /* Empty Body */ - } + void* mUserData {}; + void (*onStateChanged)(CAudioInfo::EAudioIOState state, CAudioInfo::EAudioIOState statePrev, bool byPolicy, void* user_data) {}; void set(void (*callback)(CAudioInfo::EAudioIOState, CAudioInfo::EAudioIOState, bool, void*), void* userdata) { onStateChanged = callback; @@ -72,7 +64,6 @@ namespace tizen_media_audio { }; /* Constructor & Destructor */ - CAudioIO(); explicit CAudioIO(CAudioInfo& audioInfo); virtual ~CAudioIO() = default; @@ -110,22 +101,22 @@ namespace tizen_media_audio { virtual bool isInit(); virtual bool IsReady(); - CPulseAudioClient* mpPulseAudioClient; + CPulseAudioClient* mpPulseAudioClient {}; CAudioInfo mAudioInfo; SStreamCallback mStreamCallback; SStateChangedCallback mStateChangedCallback; - CAudioInfo::EAudioDirection mDirection; - CAudioInfo::EAudioIOState mState; - CAudioInfo::EAudioIOState mStatePrev; - bool mByPolicy; + CAudioInfo::EAudioDirection mDirection { CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX }; + CAudioInfo::EAudioIOState mState { CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE }; + CAudioInfo::EAudioIOState mStatePrev { CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE }; + bool mByPolicy {}; std::timed_mutex mMutex; std::mutex mCondMutex; std::condition_variable mCond; private: - bool __mIsInit; + bool __mIsInit {}; }; diff --git a/include/CAudioInfo.h b/include/CAudioInfo.h index 5ee60e1..1214bf1 100644 --- a/include/CAudioInfo.h +++ b/include/CAudioInfo.h @@ -24,6 +24,7 @@ #include #include #include +#include namespace tizen_media_audio { @@ -129,28 +130,27 @@ namespace tizen_media_audio { static constexpr auto MAX_RECORD_VOLUME = 2.0; static constexpr auto DEFAULT_RECORD_VOLUME = 1.0; - /* Constructors */ - CAudioInfo(); + /* Constructor & Destructor */ CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex); virtual ~CAudioInfo() = default; /* Setter & Getter */ - unsigned int getSampleRate() noexcept; - EChannel getChannel() noexcept; - ESampleType getSampleType() noexcept; - EAudioType getAudioType() noexcept; - int getAudioIndex() noexcept; + unsigned int getSampleRate() const noexcept; + EChannel getChannel() const noexcept; + ESampleType getSampleType() const noexcept; + EAudioType getAudioType() const noexcept; + int getAudioIndex() const noexcept; void setAudioIndex(int audioIndex) noexcept; - int getSampleSize() noexcept; + int getSampleSize() const noexcept; + /* Effect */ void setEffectMethod(int method) noexcept; - std::string getEffectMethod() noexcept; - + std::string getEffectMethod() const noexcept; void setEffectMethodWithReference(sound_effect_method_with_reference_e method, int id) noexcept; - std::pair getEffectMethodWithReference() noexcept; + std::pair getEffectMethodWithReference() const noexcept; /* Setter & Getter Utilities */ - const char* getConvertedStreamType(); + const char* getConvertedStreamType() const; void setAudioTypeByInputStreamType(const char* streamType); void setAudioTypeByOutputStreamType(const char* streamType); @@ -198,16 +198,16 @@ namespace tizen_media_audio { EAudioType convertInputStreamTypeToAudioType(const char *streamType); EAudioType convertOutputStreamTypeToAudioType(const char *streamType); - unsigned int __mSampleRate; - EChannel __mChannel; - ESampleType __mSampleType; - EAudioType __mAudioType; - int __mAudioIndex; - - sound_effect_method_with_reference_e __mEffectMethodWithReference; - int __mEffectMethodReferenceDeviceId; - int __mEffectMethod; + unsigned int __mSampleRate { MAX_SYSTEM_SAMPLERATE }; + EChannel __mChannel { EChannel::CHANNEL_MAX }; + ESampleType __mSampleType { ESampleType::SAMPLE_TYPE_MAX }; + EAudioType __mAudioType { EAudioType::AUDIO_TYPE_MAX }; + int __mAudioIndex { -1 }; + std::optional + __mEffectMethodWithReference; + int __mEffectMethodReferenceDeviceId { 0 }; + int __mEffectMethod { 0 }; }; diff --git a/include/CAudioInput.h b/include/CAudioInput.h index d36608a..7d81ca5 100644 --- a/include/CAudioInput.h +++ b/include/CAudioInput.h @@ -67,10 +67,10 @@ namespace tizen_media_audio { bool __IsInit() noexcept; bool __IsReady() noexcept; - bool __mIsUsedSyncRead; - bool __mIsInit; + bool __mIsUsedSyncRead { true }; + bool __mIsInit {}; - double __mVolume; + double __mVolume { CAudioInfo::DEFAULT_RECORD_VOLUME }; }; diff --git a/include/CAudioOutput.h b/include/CAudioOutput.h index ff38579..da44f63 100644 --- a/include/CAudioOutput.h +++ b/include/CAudioOutput.h @@ -64,11 +64,11 @@ namespace tizen_media_audio { void __dumpStat() noexcept; void __dumpStat(size_t length) noexcept; - bool __mIsUsedSyncWrite; - bool __mIsInit; + bool __mIsUsedSyncWrite {}; + bool __mIsInit {}; - uint64_t __mTotalWrittenCount; - uint64_t __mTotalWrittenBytes; + uint64_t __mTotalWrittenCount {}; + uint64_t __mTotalWrittenBytes {}; }; diff --git a/include/CPulseAudioClient.h b/include/CPulseAudioClient.h index b41acc6..631362a 100644 --- a/include/CPulseAudioClient.h +++ b/include/CPulseAudioClient.h @@ -77,25 +77,25 @@ namespace tizen_media_audio { private: /* Members */ - EStreamDirection __mDirection; + EStreamDirection __mDirection {}; CPulseStreamSpec __mSpec; - IPulseStreamListener* __mpListener; - - pa_threaded_mainloop* __mpMainloop; - pa_context* __mpContext; - pa_stream* __mpStream; - pa_proplist* __mpPropList; - - bool __mIsInit; - bool __mIsOperationSuccess; - - const void* __mpSyncReadDataPtr; - size_t __mSyncReadIndex; - size_t __mSyncReadLength; - bool __mIsUsedSyncRead; - bool __mIsFirstStream; - bool __mIsDraining; - bool __mIsStarted; + IPulseStreamListener* __mpListener {}; + + pa_threaded_mainloop* __mpMainloop {}; + pa_context* __mpContext {}; + pa_stream* __mpStream {}; + pa_proplist* __mpPropList {}; + + bool __mIsInit {}; + bool __mIsOperationSuccess {}; + + const void* __mpSyncReadDataPtr {}; + size_t __mSyncReadIndex {}; + size_t __mSyncReadLength {}; + bool __mIsUsedSyncRead {}; + bool __mIsFirstStream {}; + bool __mIsDraining {}; + bool __mIsStarted {}; /* Static Methods */ diff --git a/include/CPulseStreamSpec.h b/include/CPulseStreamSpec.h index 44ffe29..97a4536 100644 --- a/include/CPulseStreamSpec.h +++ b/include/CPulseStreamSpec.h @@ -49,31 +49,28 @@ namespace tizen_media_audio { }; /* Constructor & Destructor */ - CPulseStreamSpec(); CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo); ~CPulseStreamSpec() = default; /* Setter & Getter */ - EStreamLatency getStreamLatency() noexcept; - const char* getStreamLatencyToString() noexcept; + EStreamLatency getStreamLatency() const noexcept; + const char* getStreamLatencyToString() const noexcept; CAudioInfo& getAudioInfo() noexcept; - pa_sample_spec getSampleSpec() noexcept; - pa_channel_map getChannelMap() noexcept; - const char* getStreamName() noexcept; + pa_sample_spec getSampleSpec() const noexcept; + pa_channel_map getChannelMap() const noexcept; + const char* getStreamName() const noexcept; private: /* Private Methods */ void __adjustSpec() noexcept; /* Members */ - EStreamLatency __mLatency; + EStreamLatency __mLatency { EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT }; CAudioInfo __mAudioInfo; pa_sample_spec __mSampleSpec; pa_channel_map __mChannelMap; - const char* __mStreamName; + const char* __mStreamName {}; }; - - } /* namespace tizen_media_audio */ #endif diff --git a/packaging/capi-media-audio-io.spec b/packaging/capi-media-audio-io.spec index c6553d4..aaf63e1 100644 --- a/packaging/capi-media-audio-io.spec +++ b/packaging/capi-media-audio-io.spec @@ -1,6 +1,6 @@ Name: capi-media-audio-io Summary: An Audio Input & Audio Output library in Tizen Native API -Version: 0.5.59 +Version: 0.5.60 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/cpp/CAudioIO.cpp b/src/cpp/CAudioIO.cpp index e6149ec..fac712a 100644 --- a/src/cpp/CAudioIO.cpp +++ b/src/cpp/CAudioIO.cpp @@ -28,25 +28,9 @@ using namespace tizen_media_audio; /** * class CAudioIO */ -//LCOV_EXCL_START -CAudioIO::CAudioIO() : - mpPulseAudioClient(nullptr), - __mIsInit(false) { - mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX; - mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE; - mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE; - mByPolicy = false; -} -//LCOV_EXCL_STOP CAudioIO::CAudioIO(CAudioInfo& audioInfo) : - mpPulseAudioClient(nullptr), - __mIsInit(false) { - mAudioInfo = audioInfo; - mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX; - mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE; - mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE; - mByPolicy = false; + mAudioInfo(audioInfo) { } void CAudioIO::setInit(bool flag) { diff --git a/src/cpp/CAudioInfo.cpp b/src/cpp/CAudioInfo.cpp index 367fd4f..8a20199 100644 --- a/src/cpp/CAudioInfo.cpp +++ b/src/cpp/CAudioInfo.cpp @@ -29,26 +29,12 @@ using namespace tizen_media_audio; /** * class CAudioInfo */ -CAudioInfo::CAudioInfo() : - __mSampleRate(MAX_SYSTEM_SAMPLERATE), - __mChannel(EChannel::CHANNEL_MONO), - __mSampleType(ESampleType::SAMPLE_TYPE_U8), - __mAudioType(EAudioType::AUDIO_IN_TYPE_MEDIA), - __mAudioIndex(-1), - __mEffectMethodWithReference((sound_effect_method_with_reference_e)0), - __mEffectMethodReferenceDeviceId(0), - __mEffectMethod(0) { -} - CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sampleType, EAudioType audioType, int audioIndex) : __mSampleRate(sampleRate), __mChannel(channel), __mSampleType(sampleType), __mAudioType(audioType), - __mAudioIndex(audioIndex), - __mEffectMethodWithReference((sound_effect_method_with_reference_e)0), - __mEffectMethodReferenceDeviceId(0), - __mEffectMethod(0) { + __mAudioIndex(audioIndex) { // Check to invalid AudioInfo if (sampleRate < CAudioInfo::MIN_SYSTEM_SAMPLERATE || sampleRate > CAudioInfo::MAX_SYSTEM_SAMPLERATE) @@ -71,19 +57,19 @@ CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sa "The audioType is invalid [audioType:%u]", to_integral(audioType)); } -unsigned int CAudioInfo::getSampleRate() noexcept { +unsigned int CAudioInfo::getSampleRate() const noexcept { return __mSampleRate; } -CAudioInfo::EChannel CAudioInfo::getChannel() noexcept { +CAudioInfo::EChannel CAudioInfo::getChannel() const noexcept { return __mChannel; } -CAudioInfo::ESampleType CAudioInfo::getSampleType() noexcept { +CAudioInfo::ESampleType CAudioInfo::getSampleType() const noexcept { return __mSampleType; } -CAudioInfo::EAudioType CAudioInfo::getAudioType() noexcept { +CAudioInfo::EAudioType CAudioInfo::getAudioType() const noexcept { return __mAudioType; } @@ -95,7 +81,7 @@ void CAudioInfo::setAudioTypeByOutputStreamType(const char* streamType) { __mAudioType = convertOutputStreamTypeToAudioType(streamType); } -int CAudioInfo::getAudioIndex() noexcept { +int CAudioInfo::getAudioIndex() const noexcept { return __mAudioIndex; } @@ -103,7 +89,7 @@ void CAudioInfo::setAudioIndex(int audioIndex) noexcept { __mAudioIndex = audioIndex; } -int CAudioInfo::getSampleSize() noexcept { +int CAudioInfo::getSampleSize() const noexcept { int bytes_in_sample = 0; switch (__mSampleType) { @@ -133,7 +119,7 @@ void CAudioInfo::setEffectMethod(int method) noexcept { __mEffectMethod = method; } -std::string CAudioInfo::getEffectMethod() noexcept { +std::string CAudioInfo::getEffectMethod() const noexcept { std::string method; if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_VOIP) @@ -156,7 +142,7 @@ void CAudioInfo::setEffectMethodWithReference(sound_effect_method_with_reference __mEffectMethodReferenceDeviceId = id; } -std::pair CAudioInfo::getEffectMethodWithReference() noexcept { +std::pair CAudioInfo::getEffectMethodWithReference() const noexcept { std::string method; if (__mEffectMethodWithReference == SOUND_EFFECT_REFERENCE_COPY) @@ -169,7 +155,7 @@ std::pair CAudioInfo::getEffectMethodWithReference() noexcept return make_pair(method, __mEffectMethodReferenceDeviceId); } -const char* CAudioInfo::getConvertedStreamType() { +const char* CAudioInfo::getConvertedStreamType() const { if (__mAudioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || __mAudioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, diff --git a/src/cpp/CAudioInput.cpp b/src/cpp/CAudioInput.cpp index 661247d..201585f 100644 --- a/src/cpp/CAudioInput.cpp +++ b/src/cpp/CAudioInput.cpp @@ -31,10 +31,7 @@ using namespace tizen_media_audio; * class CAudioInput inherited by CAudioIO */ CAudioInput::CAudioInput(CAudioInfo& info) : - CAudioIO(info), - __mIsUsedSyncRead(true), - __mIsInit(false), - __mVolume(CAudioInfo::DEFAULT_RECORD_VOLUME) { + CAudioIO(info) { mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_IN; } diff --git a/src/cpp/CAudioOutput.cpp b/src/cpp/CAudioOutput.cpp index ec64126..2aa032e 100644 --- a/src/cpp/CAudioOutput.cpp +++ b/src/cpp/CAudioOutput.cpp @@ -32,11 +32,7 @@ static constexpr auto writable_timeout_s = 5s; */ CAudioOutput::CAudioOutput(CAudioInfo& info) : - CAudioIO(info), - __mIsUsedSyncWrite(false), - __mIsInit(false), - __mTotalWrittenCount(0), - __mTotalWrittenBytes(0) { + CAudioIO(info) { mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_OUT; } diff --git a/src/cpp/CPulseAudioClient.cpp b/src/cpp/CPulseAudioClient.cpp index c47a4ac..08221ec 100644 --- a/src/cpp/CPulseAudioClient.cpp +++ b/src/cpp/CPulseAudioClient.cpp @@ -61,20 +61,7 @@ CPulseAudioClient::CPulseAudioClient( IPulseStreamListener* listener) : __mDirection(direction), __mSpec(spec), - __mpListener(listener), - __mpMainloop(nullptr), - __mpContext(nullptr), - __mpStream(nullptr), - __mpPropList(nullptr), - __mIsInit(false), - __mIsOperationSuccess(false), - __mpSyncReadDataPtr(nullptr), - __mSyncReadIndex(0), - __mSyncReadLength(0), - __mIsUsedSyncRead(false), - __mIsFirstStream(false), - __mIsDraining(false), - __mIsStarted(false) { + __mpListener(listener) { } CPulseAudioClient::~CPulseAudioClient() { diff --git a/src/cpp/CPulseStreamSpec.cpp b/src/cpp/CPulseStreamSpec.cpp index d1a5e8b..0d295b9 100644 --- a/src/cpp/CPulseStreamSpec.cpp +++ b/src/cpp/CPulseStreamSpec.cpp @@ -42,18 +42,9 @@ static const char* STREAM_LATENCY_VOIP = "voip"; static const char* STREAM_LATENCY_DEFAULT = "default"; static const char* STREAM_LATENCY_DEFAULT_ASYNC = "default-async"; -//LCOV_EXCL_START -CPulseStreamSpec::CPulseStreamSpec(): - __mLatency(EStreamLatency::STREAM_LATENCY_INPUT_DEFAULT), - __mStreamName(nullptr) { - __adjustSpec(); -} -//LCOV_EXCL_STOP - CPulseStreamSpec::CPulseStreamSpec(EStreamLatency latency, CAudioInfo& audioInfo) : __mLatency(latency), - __mAudioInfo(audioInfo), - __mStreamName(nullptr) { + __mAudioInfo(audioInfo) { __adjustSpec(); } @@ -152,11 +143,11 @@ void CPulseStreamSpec::__adjustSpec() noexcept { //LCOV_EXCL_STOP } -CPulseStreamSpec::EStreamLatency CPulseStreamSpec::getStreamLatency() noexcept { +CPulseStreamSpec::EStreamLatency CPulseStreamSpec::getStreamLatency() const noexcept { return __mLatency; } -const char* CPulseStreamSpec::getStreamLatencyToString() noexcept { +const char* CPulseStreamSpec::getStreamLatencyToString() const noexcept { const char* latency; switch (__mLatency) { @@ -206,14 +197,14 @@ CAudioInfo& CPulseStreamSpec::getAudioInfo() noexcept { return __mAudioInfo; } -pa_sample_spec CPulseStreamSpec::getSampleSpec() noexcept { +pa_sample_spec CPulseStreamSpec::getSampleSpec() const noexcept { return __mSampleSpec; } -pa_channel_map CPulseStreamSpec::getChannelMap() noexcept { +pa_channel_map CPulseStreamSpec::getChannelMap() const noexcept { return __mChannelMap; } -const char* CPulseStreamSpec::getStreamName() noexcept { +const char* CPulseStreamSpec::getStreamName() const noexcept { return __mStreamName; } -- 2.7.4