[0.6.138] fix state change error in case of gapless playback 44/222644/1 accepted/tizen_5.0_unified tizen_5.0 accepted/tizen/5.0/unified/20200121.023304 submit/tizen_5.0/20200117.043550 submit/tizen_5.0/20200120.061512
authorEunhye Choi <eunhae1.choi@samsung.com>
Fri, 17 Jan 2020 02:22:31 +0000 (11:22 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Fri, 17 Jan 2020 02:22:37 +0000 (11:22 +0900)
- state change should be done sink-to-source order
- cherry pick : cdc0c28e9bff5374a89b2b6ae120b2010b65abd3

Change-Id: Ia24e7186fe20fbe3e91e2349c5e8538221a6e20a

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

index ca25fffaa87497fc029f28f9925117872dc67e17..cf427476bf90ea42400282e450e5dcf73bd44b55 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.137
+Version:    0.6.138
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 6257088f43f0b19bc730e250134044f50b2ec593..5d518dfadc080e490b3eb3bc4e70eb988dd7394e 100644 (file)
@@ -7561,11 +7561,6 @@ __mmplayer_activate_next_source(mm_player_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");
@@ -7578,6 +7573,11 @@ __mmplayer_activate_next_source(mm_player_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();