sound_manager_get_focus_reacquisition(ad->stream_info, &reacquire_state);
DEBUG_TRACE("reason for change is %d", reason_for_change);
- if (reason_for_change != SOUND_STREAM_FOCUS_CHANGED_BY_ALARM &&
+ if (reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP ||
+ reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_CALL ||
+ reason_for_change == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE) {
+ sound_manager_set_focus_reacquisition(ad->stream_info, EINA_TRUE);
+ } else if (reason_for_change != SOUND_STREAM_FOCUS_CHANGED_BY_ALARM &&
reason_for_change != SOUND_STREAM_FOCUS_CHANGED_BY_NOTIFICATION) {
if (!g_strcmp0(additional_info, "music_playing")) {
sound_manager_set_focus_reacquisition(ad->stream_info, EINA_FALSE);
static void _mp_player_view_prev_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
{
DEBUG_TRACE("prev button pressed");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ int playback_flag = SOUND_BEHAVIOR_NONE;
+ char *additional_info = NULL;
+ int changed_by = SOUND_STREAM_FOCUS_CHANGED_BY_MEDIA;
+ ret = sound_manager_get_current_playback_focus(&changed_by, &playback_flag, &additional_info);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine current playback focus");
+ }
+
+ DEBUG_TRACE("Changed by : %d", changed_by);
+ if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_CALL || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE) {
+ DEBUG_TRACE("Cannot resume Music Player due to call... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
mp_play_control_rew(true, false, true);
}
static void _mp_player_view_next_btn_pressed_cb(void *data, Evas_Object *obj, void *event_info)
{
DEBUG_TRACE("next button pressed");
+
+ struct appdata *ad = mp_util_get_appdata();
+ MP_CHECK(ad);
+
+ int ret = SOUND_MANAGER_ERROR_NONE;
+ int playback_flag = SOUND_BEHAVIOR_NONE;
+ char *additional_info = NULL;
+ int changed_by = SOUND_STREAM_FOCUS_CHANGED_BY_MEDIA;
+ ret = sound_manager_get_current_playback_focus(&changed_by, &playback_flag, &additional_info);
+ if (ret != SOUND_MANAGER_ERROR_NONE) {
+ ERROR_TRACE("Cannot determine current playback focus");
+ }
+
+ DEBUG_TRACE("Changed by : %d", changed_by);
+ if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_CALL || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE) {
+ DEBUG_TRACE("Cannot resume Music Player due to call... Changing state in paused state...");
+ ad->paused_by_user = TRUE;
+ }
+
mp_play_control_ff(true, false, true);
}
ERROR_TRACE("Cannot determine current recording focus");
}
+ DEBUG_TRACE("Recorder state changed by : %d", changed_by);
if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOICE_RECOGNITION) {
DEBUG_TRACE("Cannot resume Music Player. Speak Mode is on");
return -1;
ERROR_TRACE("Cannot determine current playback focus");
}
+ DEBUG_TRACE("Playback state changed by : %d", changed_by);
+ if (changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_CALL || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_VOIP || changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_RINGTONE) {
+ DEBUG_TRACE("Cannot resume Music Player due to call");
+ return -1;
+ }
+
if (additional_info && changed_by == SOUND_STREAM_FOCUS_CHANGED_BY_MEDIA && !g_strcmp0(additional_info, "cam_capture")) {
DEBUG_TRACE("Cannot resume Music Player due to state: %s", additional_info);
return -1;