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
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;
};
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;
};
/* Constructor & Destructor */
- CAudioIO();
explicit CAudioIO(CAudioInfo& audioInfo);
virtual ~CAudioIO() = default;
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 {};
};
#include <string>
#include <sound_manager.h>
#include <sound_manager_internal.h>
+#include <optional>
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<std::string, int> getEffectMethodWithReference() noexcept;
+ std::pair<std::string, int> getEffectMethodWithReference() const noexcept;
/* Setter & Getter Utilities */
- const char* getConvertedStreamType();
+ const char* getConvertedStreamType() const;
void setAudioTypeByInputStreamType(const char* streamType);
void setAudioTypeByOutputStreamType(const char* streamType);
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<sound_effect_method_with_reference_e>
+ __mEffectMethodWithReference;
+ int __mEffectMethodReferenceDeviceId { 0 };
+ int __mEffectMethod { 0 };
};
bool __IsInit() noexcept;
bool __IsReady() noexcept;
- bool __mIsUsedSyncRead;
- bool __mIsInit;
+ bool __mIsUsedSyncRead { true };
+ bool __mIsInit {};
- double __mVolume;
+ double __mVolume { CAudioInfo::DEFAULT_RECORD_VOLUME };
};
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 {};
};
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 */
};
/* 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
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
/**
* 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) {
/**
* 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)
"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;
}
__mAudioType = convertOutputStreamTypeToAudioType(streamType);
}
-int CAudioInfo::getAudioIndex() noexcept {
+int CAudioInfo::getAudioIndex() const noexcept {
return __mAudioIndex;
}
__mAudioIndex = audioIndex;
}
-int CAudioInfo::getSampleSize() noexcept {
+int CAudioInfo::getSampleSize() const noexcept {
int bytes_in_sample = 0;
switch (__mSampleType) {
__mEffectMethod = method;
}
-std::string CAudioInfo::getEffectMethod() noexcept {
+std::string CAudioInfo::getEffectMethod() const noexcept {
std::string method;
if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_VOIP)
__mEffectMethodReferenceDeviceId = id;
}
-std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() noexcept {
+std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() const noexcept {
std::string method;
if (__mEffectMethodWithReference == SOUND_EFFECT_REFERENCE_COPY)
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,
* 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;
}
*/
CAudioOutput::CAudioOutput(CAudioInfo& info) :
- CAudioIO(info),
- __mIsUsedSyncWrite(false),
- __mIsInit(false),
- __mTotalWrittenCount(0),
- __mTotalWrittenBytes(0) {
+ CAudioIO(info) {
mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_OUT;
}
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() {
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();
}
//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) {
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;
}