virtual void onSignal(CAudioSessionHandler* pHandler, mm_sound_signal_name_t signal, int value);
/* Methods */
- CAudioInfo getAudioInfo() throw (CAudioError);
+ CAudioInfo& getAudioInfo() throw (CAudioError);
virtual void setStreamCallback(SStreamCallback callback) throw (CAudioError);
SStreamCallback getStreamCallback() throw (CAudioError);
EChannel getChannel();
ESampleType getSampleType();
EAudioType getAudioType();
- void setAudioType(EAudioType AudioType);
+ void setAudioType(EAudioType audioType);
int getAudioIndex();
- void setAudioIndex(int AudioIndex);
+ void setAudioIndex(int audioIndex);
void convertAudioType2StreamType (CAudioInfo::EAudioType audioType, char **streamType);
void convertInputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType);
void convertOutputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType);
/* Setter & Getter */
EStreamLatency getStreamLatency();
const char* getStreamLatencyToString();
- CAudioInfo getAudioInfo();
+ CAudioInfo& getAudioInfo();
pa_sample_spec getSampleSpec();
pa_channel_map getChannelMap();
const char* getStreamName();
Name: capi-media-audio-io
Summary: An Audio Input & Audio Output library in Tizen Native API
-Version: 0.3.16
+Version: 0.3.17
Release: 0
Group: Multimedia/API
License: Apache-2.0
}
}
-CAudioInfo CAudioIO::getAudioInfo() throw (CAudioError) {
+CAudioInfo& CAudioIO::getAudioInfo() throw (CAudioError) {
if (__mIsInit == false) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Doesn't initialize CAudioIO");
}
return __mAudioType;
}
-void CAudioInfo::setAudioType(CAudioInfo::EAudioType AudioType) {
- __mAudioType = AudioType;
+void CAudioInfo::setAudioType(CAudioInfo::EAudioType audioType) {
+ __mAudioType = audioType;
return;
}
return __mAudioIndex;
}
-void CAudioInfo::setAudioIndex(int AudioIndex) {
- __mAudioIndex = AudioIndex;
+void CAudioInfo::setAudioIndex(int audioIndex) {
+ __mAudioIndex = audioIndex;
return;
}
-void CAudioInfo::convertAudioType2StreamType (CAudioInfo::EAudioType audioType, char **streamType)
-{
+void CAudioInfo::convertAudioType2StreamType (CAudioInfo::EAudioType audioType, char **streamType) {
if (audioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA || audioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX) {
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The audioType is not supported [audioType:%d]", audioType);
}
return;
}
-void CAudioInfo::convertInputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType)
-{
- unsigned int i;
- for (i = (unsigned int)CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA ; i < (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA ; i++) {
+void CAudioInfo::convertInputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType) {
+ for (unsigned int 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)) {
- break;
+ *audioType = (CAudioInfo::EAudioType)i;
+ return;
}
}
- if (i >= (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA) {
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType is not supported [streamType:%s]", streamType);
- }
- *audioType = (CAudioInfo::EAudioType)i;
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType of input is not supported [streamType:%s]", streamType);
return;
}
-void CAudioInfo::convertOutputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType)
-{
- unsigned int i;
- for (i = (unsigned int)CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA ; i < (unsigned int)CAudioInfo::EAudioType::AUDIO_TYPE_MAX ; i++) {
+void CAudioInfo::convertOutputStreamType2AudioType (char *streamType, CAudioInfo::EAudioType *audioType) {
+ for (unsigned int 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)) {
- break;
+ *audioType = (CAudioInfo::EAudioType)i;
+ return;
}
}
- if (i >= (unsigned int)CAudioInfo::EAudioType::AUDIO_TYPE_MAX) {
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType is not supported [streamType:%s]", streamType);
- }
- *audioType = (CAudioInfo::EAudioType)i;
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "The streamType of output is not supported [streamType:%s]", streamType);
return;
}
}
// Init StreamSpec
- AUDIO_IO_LOGD("Set Strem Spec : CPulseStreamSpec::STREAM_LATENCY_INPUT_MID");
+ AUDIO_IO_LOGD("Set Stream Spec : CPulseStreamSpec::STREAM_LATENCY_INPUT_MID");
CPulseStreamSpec::EStreamLatency streamSpec = CPulseStreamSpec::EStreamLatency::STREAM_LATENCY_INPUT_MID;
CPulseStreamSpec spec(streamSpec, mAudioInfo);
return latency;
}
-CAudioInfo CPulseStreamSpec::getAudioInfo() {
+CAudioInfo& CPulseStreamSpec::getAudioInfo() {
return __mAudioInfo;
}
assert(handle->audioIoHandle);
int errorCode = SOUND_MANAGER_ERROR_NONE;
- CAudioInfo::EAudioType AudioType = CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA;
+ CAudioInfo::EAudioType audioType = CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA;
char *type = NULL;
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 ((errorCode = sound_manager_is_available_stream_information(stream_info, NATIVE_API_AUDIO_IO, &avail)) != SOUND_MANAGER_ERROR_NONE) {
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameter stream_info is invalid [ret:%d]", errorCode);
}
- handle->audioIoHandle->getAudioInfo().convertInputStreamType2AudioType(type, &AudioType);
- handle->audioIoHandle->getAudioInfo().setAudioType(AudioType);
- 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);
+ if (avail) {
+ 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);
+ }
+ handle->audioIoHandle->getAudioInfo().convertInputStreamType2AudioType(type, &audioType);
+ handle->audioIoHandle->getAudioInfo().setAudioType(audioType);
+
+ 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);
+ }
+ handle->audioIoHandle->getAudioInfo().setAudioIndex(index);
+ } else {
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "Input stream is not supported");
}
- handle->audioIoHandle->getAudioInfo().setAudioIndex(index);
} catch (CAudioError e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);
assert(handle->audioIoHandle);
int errorCode = SOUND_MANAGER_ERROR_NONE;
- CAudioInfo::EAudioType AudioType = CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA;
+ CAudioInfo::EAudioType audioType = CAudioInfo::EAudioType::AUDIO_OUT_TYPE_MEDIA;
char *type = NULL;
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 ((errorCode = sound_manager_is_available_stream_information(stream_info, NATIVE_API_AUDIO_IO, &avail)) != SOUND_MANAGER_ERROR_NONE) {
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameter stream_info is invalid [ret:%d]", errorCode);
}
- handle->audioIoHandle->getAudioInfo().convertOutputStreamType2AudioType(type, &AudioType);
- handle->audioIoHandle->getAudioInfo().setAudioType(AudioType);
- 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);
+ if (avail) {
+ 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);
+ }
+ handle->audioIoHandle->getAudioInfo().convertOutputStreamType2AudioType(type, &audioType);
+ handle->audioIoHandle->getAudioInfo().setAudioType(audioType);
+
+ 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);
+ }
+ handle->audioIoHandle->getAudioInfo().setAudioIndex(index);
+ } else {
+ THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_NOT_SUPPORTED_TYPE, "Output stream is not supported");
}
- handle->audioIoHandle->getAudioInfo().setAudioIndex(index);
} catch (CAudioError e) {
AUDIO_IO_LOGE("%s", e.getErrorMsg());
return __convert_CAudioError(e);