revise CAudioInfo conversion
[platform/core/api/audio-io.git] / src / cpp / CAudioInfo.cpp
index 6f6ca9b..aff4ee0 100644 (file)
@@ -74,6 +74,14 @@ void CAudioInfo::setAudioType(CAudioInfo::EAudioType audioType) noexcept {
     __mAudioType = audioType;
 }
 
+void CAudioInfo::setAudioTypeByInputStreamType(const char* streamType) {
+    __mAudioType = convertInputStreamTypeToAudioType(streamType);
+}
+
+void CAudioInfo::setAudioTypeByOutputStreamType(const char* streamType) {
+    __mAudioType = convertOutputStreamTypeToAudioType(streamType);
+}
+
 int CAudioInfo::getAudioIndex() noexcept {
     return __mAudioIndex;
 }
@@ -108,30 +116,26 @@ int CAudioInfo::getSampleSize() noexcept {
     return bytes_in_sample * static_cast<int>(__mChannel);
 }
 
-void CAudioInfo::convertAudioType2StreamType(CAudioInfo::EAudioType audioType, char **streamType) {
-    if (audioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || audioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX)
+const char* CAudioInfo::getConvertedStreamType() {
+    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(audioType));
+                               "The audioType is not supported [audioType:%u]", to_integral(__mAudioType));
 
-    *streamType = (char *)__STREAM_TYPE_TABLE[(unsigned int)audioType];
+    return __STREAM_TYPE_TABLE[(unsigned int)__mAudioType];
 }
 
-void CAudioInfo::convertInputStreamType2AudioType(char *streamType, CAudioInfo::EAudioType *audioType) {
+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)) {
-            *audioType = (CAudioInfo::EAudioType)i;
-            return;
-        }
+        if (!strcmp((char *)__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);
 }
 
-void CAudioInfo::convertOutputStreamType2AudioType(char *streamType, CAudioInfo::EAudioType *audioType) {
+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)) {
-            *audioType = (CAudioInfo::EAudioType)i;
-            return;
-        }
+        if (!strcmp((char *)__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);
 }