From: Sangchul Lee Date: Wed, 22 Mar 2017 04:52:56 +0000 (+0900) Subject: Adjust timing to update focus status in _focus_state_change_callback() X-Git-Tag: submit/tizen_3.0/20170329.043647~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F82%2F120182%2F2;p=platform%2Fcore%2Fapi%2Fsound-manager.git Adjust timing to update focus status in _focus_state_change_callback() In case of acquiring focus, request to update the focus status to change audio routing path first then invoke user callback. [Version] 0.3.105 [Profile] Common [Issue Type] Enhancement Change-Id: I4335bde53d740253697c9508867fb608891192e7 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-sound-manager.spec b/packaging/capi-media-sound-manager.spec index eeddec6..1d19576 100755 --- a/packaging/capi-media-sound-manager.spec +++ b/packaging/capi-media-sound-manager.spec @@ -1,6 +1,6 @@ Name: capi-media-sound-manager Summary: Sound Manager library -Version: 0.3.104 +Version: 0.3.105 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/sound_manager_private.c b/src/sound_manager_private.c index 5b35dd5..bf0b868 100644 --- a/src/sound_manager_private.c +++ b/src/sound_manager_private.c @@ -575,11 +575,16 @@ void _focus_state_change_callback(int index, mm_sound_focus_type_e focus_type, m else if (state == FOCUS_IS_ACQUIRED) stream_info->acquired_focus |= focus_type; + if (state == FOCUS_IS_ACQUIRED) + _update_focus_status(stream_info->index, (unsigned int)stream_info->acquired_focus); + LOGI("[FOCUS USER CALLBACK(%p) START]", stream_info->user_cb); stream_info->user_cb((sound_stream_info_h)stream_info, focus_type, state, change_reason, option, extra_info, stream_info->user_data); LOGI("[FOCUS USER CALLBACK(%p) END]", stream_info->user_cb); - _update_focus_status(stream_info->index, (unsigned int)stream_info->acquired_focus); + + if (state == FOCUS_IS_RELEASED) + _update_focus_status(stream_info->index, (unsigned int)stream_info->acquired_focus); LEAVE: LOGI("<< leave");