* @retval #SOUND_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #SOUND_MANAGER_ERROR_INVALID_OPERATION Invalid operation
* @retval #SOUND_MANAGER_ERROR_POLICY Noncompliance with the sound system policy
- * @pre Call sound_manager_set_session_type(SOUND_SESSION_TYPE_MEDIA) before calling this function.
* @see sound_manager_set_session_type()
* @see sound_manager_get_session_type()
* @see sound_manager_get_media_session_option()
* @retval #SOUND_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #SOUND_MANAGER_ERROR_INVALID_OPERATION Invalid operation
* @retval #SOUND_MANAGER_ERROR_POLICY Noncompliance with the sound system policy
- * @pre Call sound_manager_set_session_type(SOUND_SESSION_TYPE_MEDIA) before calling this function.
* @see sound_manager_set_session_type()
* @see sound_manager_get_session_type()
* @see sound_manager_set_media_session_option()
g_cached_session_mode = -1;
}
}
- ret = mm_session_init_ex(new_session , _session_interrupt_cb, NULL);
+ ret = mm_session_init_ex(new_session , __session_interrupt_cb, NULL);
if (ret == MM_ERROR_NONE) {
g_session_interrupt_cb_table.is_registered = 1;
}
if (type == NULL)
return __convert_sound_manager_error_code(__func__, MM_ERROR_INVALID_ARGUMENT);
ret = mm_session_get_current_type(&cur_session);
- if (ret != 0)
+ if (ret != 0) {
+ LOGW("session hasn't been set, setting default session");
cur_session = SOUND_SESSION_TYPE_DEFAULT;
+ ret = mm_session_init_ex(cur_session, __session_interrupt_cb, NULL);
+ if (ret == 0) {
+ g_session_interrupt_cb_table.is_registered = 1;
+ }
+ }
if ((cur_session > MM_SESSION_TYPE_EMERGENCY) &&
(cur_session != MM_SESSION_TYPE_VOIP)) {
if (g_cached_session != -1)
ret = mm_session_get_current_information(&session, &session_option);
if (ret != 0 || !g_session_interrupt_cb_table.is_registered) {
- LOGW("need to set session type first");
- return __convert_sound_manager_error_code(__func__, ret);
- } else if (ret == MM_ERROR_NONE && session > MM_SESSION_TYPE_MEDIA) {
+ LOGW("session hasn't been set, setting default session");
+ ret = mm_session_init_ex(MM_SESSION_TYPE_MEDIA, __session_interrupt_cb, NULL);
+ if (ret == 0) {
+ g_session_interrupt_cb_table.is_registered = 1;
+ }
+ } else if (ret == 0 && session > MM_SESSION_TYPE_MEDIA) {
if (session == MM_SESSION_TYPE_MEDIA_RECORD) {
if (!g_session_interrupt_cb_table.is_registered) {
LOGE("Already set by camera/recorder/audio-io(in)/radio API, but need to set session to Media first");
ret = mm_session_get_current_information(&session, &session_options);
if (ret != 0) {
- return __convert_sound_manager_error_code(__func__, ret);
+ ret = mm_session_init_ex(MM_SESSION_TYPE_MEDIA, __session_interrupt_cb, NULL);
+ if (ret == 0) {
+ g_session_interrupt_cb_table.is_registered = 1;
+ }
} else if (session > SOUND_SESSION_TYPE_MEDIA) {
if (session == MM_SESSION_TYPE_MEDIA_RECORD) {
if (!g_session_interrupt_cb_table.is_registered) {
ret = mm_session_get_current_information(&session, &session_option);
if (ret != 0 || !g_session_interrupt_cb_table.is_registered) {
- LOGW("need to set session type first");
- return __convert_sound_manager_error_code(__func__, ret);
- } else if (ret == MM_ERROR_NONE && session > MM_SESSION_TYPE_MEDIA) {
+ LOGW("session hasn't been set, setting default session");
+ ret = mm_session_init_ex(MM_SESSION_TYPE_MEDIA, __session_interrupt_cb, NULL);
+ if (ret == 0) {
+ g_session_interrupt_cb_table.is_registered = 1;
+ }
+ } else if (ret == 0 && session > MM_SESSION_TYPE_MEDIA) {
if (session == MM_SESSION_TYPE_MEDIA_RECORD) {
if (!g_session_interrupt_cb_table.is_registered) {
LOGE("Already set by camera/recorder/audio-io(in)/radio API, but need to set session to Media first");
return __convert_sound_manager_error_code(__func__, MM_ERROR_INVALID_ARGUMENT);
ret = mm_session_get_current_information(&session, &session_options);
if (ret != 0) {
- return __convert_sound_manager_error_code(__func__, ret);
+ LOGW("session hasn't been set, setting default session");
+ ret = mm_session_init_ex(MM_SESSION_TYPE_MEDIA, __session_interrupt_cb, NULL);
+ if (ret == 0) {
+ g_session_interrupt_cb_table.is_registered = 1;
+ }
} else if (session > SOUND_SESSION_TYPE_MEDIA) {
if (session == MM_SESSION_TYPE_MEDIA_RECORD) {
if (!g_session_interrupt_cb_table.is_registered) {
return __convert_sound_manager_error_code(__func__, MM_ERROR_POLICY_INTERNAL);
if (g_session_interrupt_cb_table.is_registered == 0) {
- ret = mm_session_init_ex(SOUND_SESSION_TYPE_DEFAULT /*default*/ , _session_interrupt_cb, NULL);
+ ret = mm_session_init_ex(SOUND_SESSION_TYPE_DEFAULT /*default*/ , __session_interrupt_cb, NULL);
if (ret != 0)
return __convert_sound_manager_error_code(__func__, ret);
g_session_interrupt_cb_table.is_registered = 1;