void setAudioType(EAudioType audioType) noexcept;
int getAudioIndex() noexcept;
void setAudioIndex(int audioIndex) noexcept;
- void convertAudioType2StreamType(CAudioInfo::EAudioType audioType, char **streamType);
- void convertInputStreamType2AudioType(char *streamType, CAudioInfo::EAudioType *audioType);
- void convertOutputStreamType2AudioType(char *streamType, CAudioInfo::EAudioType *audioType);
int getSampleSize() noexcept;
+ /* Setter & Getter Utilities */
+ const char* getConvertedStreamType();
+ void setAudioTypeByInputStreamType(const char* streamType);
+ void setAudioTypeByOutputStreamType(const char* streamType);
+
private:
const char *__STREAM_TYPE_TABLE[(unsigned int)EAudioType::AUDIO_TYPE_MAX] = {
/* Input Type */
"network-source-media", /**< AUDIO_OUT_TYPE_MEDIA_NETWORK_SOURCE */
};
+ EAudioType convertInputStreamTypeToAudioType(const char *streamType);
+ EAudioType convertOutputStreamTypeToAudioType(const char *streamType);
+
unsigned int __mSampleRate;
EChannel __mChannel;
ESampleType __mSampleType;
THROW_ERROR_MSG(CAudioError::EError::ERROR_INVALID_STATE, "it is not permitted while started");
int errorCode = SOUND_MANAGER_ERROR_NONE;
- CAudioInfo::EAudioType audioType = CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA;
char *type = nullptr;
int index = -1;
bool avail = false;
if ((errorCode = sound_manager_get_type_from_stream_information(stream_info, &type)) != SOUND_MANAGER_ERROR_NONE)
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameter stream_info->stream_type is invalid [ret:%d]", errorCode);
if (mDirection == CAudioInfo::EAudioDirection::AUDIO_DIRECTION_IN)
- getAudioInfo().convertInputStreamType2AudioType(type, &audioType);
+ getAudioInfo().setAudioTypeByInputStreamType(type);
else
- getAudioInfo().convertOutputStreamType2AudioType(type, &audioType);
- getAudioInfo().setAudioType(audioType);
+ getAudioInfo().setAudioTypeByOutputStreamType(type);
if ((errorCode = sound_manager_get_index_from_stream_information(stream_info, &index)) != SOUND_MANAGER_ERROR_NONE)
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameter stream_info->index is invalid [ret:%d]", errorCode);
__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;
}
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);
}
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed pa_proplist_new()"); //LCOV_EXCL_LINE
// Adds values on proplist for delivery to PULSEAUDIO
- char *streamType = nullptr;
- CAudioInfo::EAudioType audioType = __mSpec.getAudioInfo().getAudioType();
- __mSpec.getAudioInfo().convertAudioType2StreamType(audioType, &streamType);
- pa_proplist_sets(__mpPropList, PA_PROP_MEDIA_ROLE, streamType);
+ pa_proplist_sets(__mpPropList, PA_PROP_MEDIA_ROLE, __mSpec.getAudioInfo().getConvertedStreamType());
int index = __mSpec.getAudioInfo().getAudioIndex();
if (index >= 0)