From a871d32040c7cae645c8e79f511f2131e8bebfc5 Mon Sep 17 00:00:00 2001 From: Seungbae Shin Date: Fri, 16 Aug 2019 18:16:20 +0900 Subject: [PATCH] use constexpr whenever possible / remove unused member function Change-Id: If9726261b3603644c9cf2f111888bd86df5f38fb --- include/CAudioError.h | 2 +- include/CAudioInfo.h | 5 ++-- src/cpp/CAudioInfo.cpp | 59 +++++++++++++++++++++++++------------------ src/cpp/CPulseAudioClient.cpp | 12 ++++----- 4 files changed, 44 insertions(+), 34 deletions(-) diff --git a/include/CAudioError.h b/include/CAudioError.h index b508fe8..960bd7d 100644 --- a/include/CAudioError.h +++ b/include/CAudioError.h @@ -62,7 +62,7 @@ class CAudioError : public std::exception { }; /* Constants Definition */ - static const unsigned int MSG_LENGTH = 512; + static constexpr unsigned int MSG_LENGTH = 512; /* Constructor & Destructor */ explicit CAudioError(EError err); diff --git a/include/CAudioInfo.h b/include/CAudioInfo.h index 82ee921..a74b7e4 100644 --- a/include/CAudioInfo.h +++ b/include/CAudioInfo.h @@ -111,8 +111,8 @@ namespace tizen_media_audio { AUDIO_DIRECTION_MAX }; - const static unsigned int MIN_SYSTEM_SAMPLERATE = 8000; - const static unsigned int MAX_SYSTEM_SAMPLERATE = 192000; + static constexpr unsigned int MIN_SYSTEM_SAMPLERATE = 8000; + static constexpr unsigned int MAX_SYSTEM_SAMPLERATE = 192000; /* Constructors */ CAudioInfo(); @@ -124,7 +124,6 @@ namespace tizen_media_audio { EChannel getChannel() noexcept; ESampleType getSampleType() noexcept; EAudioType getAudioType() noexcept; - void setAudioType(EAudioType audioType) noexcept; int getAudioIndex() noexcept; void setAudioIndex(int audioIndex) noexcept; int getSampleSize() noexcept; diff --git a/src/cpp/CAudioInfo.cpp b/src/cpp/CAudioInfo.cpp index aff4ee0..f35f3f4 100644 --- a/src/cpp/CAudioInfo.cpp +++ b/src/cpp/CAudioInfo.cpp @@ -16,6 +16,7 @@ #include +#include #include "CAudioIODef.h" @@ -41,17 +42,25 @@ CAudioInfo::CAudioInfo(unsigned int sampleRate, EChannel channel, ESampleType sa __mAudioType(audioType), __mAudioIndex(audioIndex) { // Check to invalid AudioInfo - if (sampleRate < CAudioInfo::MIN_SYSTEM_SAMPLERATE || sampleRate > CAudioInfo::MAX_SYSTEM_SAMPLERATE) - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The sampleRate is invalid [sampleRate:%u]", sampleRate); - - if (channel < CAudioInfo::EChannel::CHANNEL_MONO || channel >= CAudioInfo::EChannel::CHANNEL_MAX) - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The channel is invalid [channel:%u]", to_integral(channel)); - - if (sampleType < CAudioInfo::ESampleType::SAMPLE_TYPE_U8 || sampleType >= CAudioInfo::ESampleType::SAMPLE_TYPE_MAX) - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The sampleType is invalid [sampleType:%u]", to_integral(sampleType)); - - if (audioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || audioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "The audioType is invalid [audioType:%u]", to_integral(audioType)); + if (sampleRate < CAudioInfo::MIN_SYSTEM_SAMPLERATE || + sampleRate > CAudioInfo::MAX_SYSTEM_SAMPLERATE) + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, + "The sampleRate is invalid [sampleRate:%u]", sampleRate); + + if (channel < CAudioInfo::EChannel::CHANNEL_MONO || + channel >= CAudioInfo::EChannel::CHANNEL_MAX) + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, + "The channel is invalid [channel:%u]", to_integral(channel)); + + if (sampleType < CAudioInfo::ESampleType::SAMPLE_TYPE_U8 || + sampleType >= CAudioInfo::ESampleType::SAMPLE_TYPE_MAX) + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, + "The sampleType is invalid [sampleType:%u]", to_integral(sampleType)); + + if (audioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || + audioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, + "The audioType is invalid [audioType:%u]", to_integral(audioType)); } unsigned int CAudioInfo::getSampleRate() noexcept { @@ -70,10 +79,6 @@ CAudioInfo::EAudioType CAudioInfo::getAudioType() noexcept { return __mAudioType; } -void CAudioInfo::setAudioType(CAudioInfo::EAudioType audioType) noexcept { - __mAudioType = audioType; -} - void CAudioInfo::setAudioTypeByInputStreamType(const char* streamType) { __mAudioType = convertInputStreamTypeToAudioType(streamType); } @@ -117,7 +122,8 @@ int CAudioInfo::getSampleSize() noexcept { } const char* CAudioInfo::getConvertedStreamType() { - if (__mAudioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || __mAudioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) + if (__mAudioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || + __mAudioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The audioType is not supported [audioType:%u]", to_integral(__mAudioType)); @@ -125,18 +131,23 @@ const char* CAudioInfo::getConvertedStreamType() { } CAudioInfo::EAudioType CAudioInfo::convertInputStreamTypeToAudioType(const char *streamType) { - for (auto i = (unsigned int)CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA ; i < (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA ; i++) { - if (!strcmp((char *)__STREAM_TYPE_TABLE[i], streamType)) + for (auto i = (unsigned int)CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA; + i < (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA; + i++) { + if (!strcmp(__STREAM_TYPE_TABLE[i], streamType)) return (CAudioInfo::EAudioType)i; } - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType of input is not supported [streamType:%s]", streamType); + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, + "The streamType of input is not supported [streamType:%s]", streamType); } CAudioInfo::EAudioType CAudioInfo::convertOutputStreamTypeToAudioType(const char *streamType) { - for (auto i = (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA ; i < (unsigned int)CAudioInfo::EAudioType::AUDIO_TYPE_MAX ; i++) { - if (!strcmp((char *)__STREAM_TYPE_TABLE[i], streamType)) + for (auto i = (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA; + i < (unsigned int)CAudioInfo::EAudioType::AUDIO_TYPE_MAX; + i++) { + if (!strcmp(__STREAM_TYPE_TABLE[i], streamType)) return (CAudioInfo::EAudioType)i; } - THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType of output is not supported [streamType:%s]", streamType); -} - + THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, + "The streamType of output is not supported [streamType:%s]", streamType); +} \ No newline at end of file diff --git a/src/cpp/CPulseAudioClient.cpp b/src/cpp/CPulseAudioClient.cpp index 3b24ece..ef7ddb3 100644 --- a/src/cpp/CPulseAudioClient.cpp +++ b/src/cpp/CPulseAudioClient.cpp @@ -18,6 +18,9 @@ #include "CAudioIODef.h" #include #include +#include +#include +#include #ifdef ENABLE_DPM #include @@ -31,8 +34,8 @@ using namespace tizen_media_audio; * class CPulseAudioClient */ const char* CPulseAudioClient::CLIENT_NAME = "AUDIO_IO_PA_CLIENT"; -static const unsigned int drain_wait_interval = 10000; -static const unsigned int drain_wait_max_count = 30; +static constexpr unsigned int drain_wait_interval = 10000; +static constexpr unsigned int drain_wait_max_count = 30; CPulseAudioClient::CPulseAudioClient( EStreamDirection direction, @@ -536,10 +539,7 @@ int CPulseAudioClient::read(void* buffer, size_t length) { } } - if (__mSyncReadLength < lengthIter) - l = __mSyncReadLength; - else - l = lengthIter; + l = min(__mSyncReadLength, lengthIter); // Copy partial pcm data on out parameter #ifdef _AUDIO_IO_DEBUG_TIMING_ -- 2.7.4