- audio_io_s* handle = static_cast<audio_io_s*>(output);
-
- try {
- if (handle == NULL || type == NULL) {
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameters are NULL output:%p, type:%p", output, type);
- }
-
- assert(handle->audioIoHandle);
-
- const CAudioInfo::EAudioType srcAudioType = handle->audioIoHandle->getAudioInfo().getAudioType();
- sound_type_e dstSoundType = SOUND_TYPE_MEDIA;
- __convert_audio_info_audio_type_2_sound_type(srcAudioType, dstSoundType);
-
- *type = dstSoundType;
- } catch (CAudioError e) {
- AUDIO_IO_LOGE("%s", e.getErrorMsg());
- return __convert_CAudioError(e);
- }
-
- return AUDIO_IO_ERROR_NONE;
-}
-
-int cpp_audio_out_set_interrupted_cb(audio_out_h output, audio_io_interrupted_cb callback, void *user_data) {
- audio_io_s* handle = static_cast<audio_io_s*>(output);
-
- try {
- if (handle == NULL || callback == NULL) {
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameters are NULL output:%p, callback:%p", output, callback);
- }
-
- assert(handle->audioIoHandle);
-
- handle->interrupt_callback.onInterrupt = callback;
- handle->interrupt_callback.user_data = user_data;
-
- CAudioIO::SInterruptCallback cb = handle->audioIoHandle->getInterruptCallback();
- cb.mUserData = static_cast<void*>(handle);
- cb.onInterrupt = __interrupt_cb_internal;
-
- handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
- AUDIO_IO_LOGE("%s", e.getErrorMsg());
- return __convert_CAudioError(e);
- }
-
- return AUDIO_IO_ERROR_NONE;
-}
-
-int cpp_audio_out_unset_interrupted_cb(audio_out_h output) {
- audio_io_s* handle = static_cast<audio_io_s*>(output);
-
- try {
- if (handle == NULL) {
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameters are NULL output:%p", output);
- }
-
- assert(handle->audioIoHandle);
-
- handle->interrupt_callback.onInterrupt = NULL;
- handle->interrupt_callback.user_data = NULL;
-
- CAudioIO::SInterruptCallback cb = handle->audioIoHandle->getInterruptCallback();
- cb.mUserData = NULL;
- cb.onInterrupt = NULL;
-
- handle->audioIoHandle->setInterruptCallback(cb);
- } catch (CAudioError e) {
- AUDIO_IO_LOGE("%s", e.getErrorMsg());
- return __convert_CAudioError(e);
- }
-
- return AUDIO_IO_ERROR_NONE;
-}
-
-int cpp_audio_out_ignore_session(audio_out_h output) {
- audio_io_s* handle = static_cast<audio_io_s*>(output);