[0.6.212] fix state change error in case of gapless playback 41/222641/1 accepted/tizen/5.5/unified/20200120.132950 submit/tizen_5.5/20200117.043605
authorEunhye Choi <eunhae1.choi@samsung.com>
Thu, 16 Jan 2020 12:00:51 +0000 (21:00 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Fri, 17 Jan 2020 02:11:09 +0000 (11:11 +0900)
- state change should be done sink-to-source order
- cherry pick : cdc0c28e9bff5374a89b2b6ae120b2010b65abd3

Change-Id: I31df97960a09d6f3319ae298d832d22ab31e89f1

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

index e7d97df8ae06bcb03eb6d6ffddb5ac504182e814..3fd6892a7118aba7485598c500cc627e7e223623 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.211
+Version:    0.6.212
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 25b1cd928f96efb5e19443b38c4351246095af5f..23ece3a27c0880b985bd7a60029221472a670b28 100644 (file)
@@ -4033,11 +4033,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");
@@ -4050,6 +4045,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();