[0.6.214] fix state change error in case of gapless playback 07/222607/1 submit/tizen/20200117.040756
authorEunhye Choi <eunhae1.choi@samsung.com>
Thu, 16 Jan 2020 12:00:51 +0000 (21:00 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Thu, 16 Jan 2020 12:00:53 +0000 (21:00 +0900)
- state change should be done sink-to-source order

Change-Id: Ib9c1ace0fbfb052c992c79cb5c3c91b01ad93572

packaging/libmm-player.spec
src/mm_player_gst.c

index 27b0e4d..c6775d6 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.213
+Version:    0.6.214
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 8d05b1b..d5c39df 100644 (file)
@@ -4027,11 +4027,6 @@ _mmplayer_activate_next_source(mmplayer_t *player, GstState target)
                goto ERROR;
        }
 
-       if (gst_element_set_state(mainbin[MMPLAYER_M_SRC].gst, target) == GST_STATE_CHANGE_FAILURE) {
-               LOGE("Failed to change state of src element");
-               goto ERROR;
-       }
-
        if (!MMPLAYER_IS_HTTP_STREAMING(player)) {
                if (gst_element_set_state(mainbin[MMPLAYER_M_AUTOPLUG].gst, target) == GST_STATE_CHANGE_FAILURE) {
                        LOGE("Failed to change state of decodebin");
@@ -4044,6 +4039,11 @@ _mmplayer_activate_next_source(mmplayer_t *player, GstState target)
                }
        }
 
+       if (gst_element_set_state(mainbin[MMPLAYER_M_SRC].gst, target) == GST_STATE_CHANGE_FAILURE) {
+               LOGE("Failed to change state of src element");
+               goto ERROR;
+       }
+
        player->gapless.stream_changed = TRUE;
        player->gapless.running = TRUE;
        MMPLAYER_FLEAVE();