summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/libmm-player.spec2
-rw-r--r--src/mm_player_priv.c4
-rw-r--r--src/mm_player_sound_focus.c15
3 files changed, 11 insertions, 10 deletions
diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec
index 2c9ff87..a55d715 100644
--- a/packaging/libmm-player.spec
+++ b/packaging/libmm-player.spec
@@ -1,6 +1,6 @@
Name: libmm-player
Summary: Multimedia Framework Player Library
-Version: 0.6.8
+Version: 0.6.9
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c
index aa57339..4586657 100644
--- a/src/mm_player_priv.c
+++ b/src/mm_player_priv.c
@@ -8375,7 +8375,6 @@ __mmplayer_sound_focus_callback(int id, mm_sound_focus_type_e focus_type, mm_sou
{
mm_player_t* player = (mm_player_t*) user_data;
int result = MM_ERROR_NONE;
- gboolean lazy_pause = FALSE;
MMPlayerFocusChangedMsg msg = MM_PLAYER_FOCUS_CHANGED_BY_UNKNOWN;
LOGW("get focus notified");
@@ -8445,8 +8444,7 @@ __mmplayer_sound_focus_callback(int id, mm_sound_focus_type_e focus_type, mm_sou
LOGW("unknown focus state %d", focus_state);
DONE:
- if (!lazy_pause)
- player->sound_focus.by_asm_cb = FALSE;
+ player->sound_focus.by_asm_cb = FALSE;
player->sound_focus.cb_pending = FALSE;
EXIT:
diff --git a/src/mm_player_sound_focus.c b/src/mm_player_sound_focus.c
index 751883a..5d4b727 100644
--- a/src/mm_player_sound_focus.c
+++ b/src/mm_player_sound_focus.c
@@ -87,7 +87,6 @@ __mmplayer_sound_device_connected_cb_func(MMSoundDevice_t device_h, bool is_conn
mm_sound_device_type_e device_type;
int ret;
- MMMessageParamType msg = {0, };
LOGW("device_connected_cb is called, device_h[0x%x], is_connected[%d]\n", device_h, is_connected);
@@ -102,15 +101,19 @@ __mmplayer_sound_device_connected_cb_func(MMSoundDevice_t device_h, bool is_conn
case MM_SOUND_DEVICE_TYPE_HDMI:
case MM_SOUND_DEVICE_TYPE_USB_AUDIO:
{
- ret = gst_element_set_state(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst, GST_STATE_PAUSED);
- if (ret != GST_STATE_CHANGE_SUCCESS) {
+ int result = MM_ERROR_NONE;
+ LOGW("pause immediately");
+
+ player->sound_focus.by_asm_cb = TRUE;
+ player->sound_focus.focus_changed_msg = MM_PLAYER_FOCUS_CHANGED_BY_EARJACK_UNPLUG;
+
+ result = _mmplayer_pause((MMHandleType)player);
+ if (result != MM_ERROR_NONE) {
LOGE("focus_id [%d], watch_id [%d], connected_id [%d], change_state result[%d]",
player->sound_focus.focus_id, player->sound_focus.watch_id,
player->sound_focus.connected_id, ret);
}
- msg.union_type = MM_MSG_UNION_CODE;
- msg.code = MM_PLAYER_FOCUS_CHANGED_BY_EARJACK_UNPLUG;
- MMPLAYER_POST_MSG(player, MM_MESSAGE_STATE_INTERRUPTED, &msg);
+ player->sound_focus.by_asm_cb = FALSE;
}
break;