[0.6.277] Update uridecodebin3 setting to sync GST 1.22.0
[platform/core/multimedia/libmm-player.git] / src / mm_player_priv.c
index eb5ad2a..2453a5b 100644 (file)
@@ -752,7 +752,6 @@ __mmplayer_gapless_play_thread(gpointer data)
                } else {
                        MMPLAYER_RELEASE_ELEMENT(player, mainbin, MMPLAYER_M_AUTOPLUG); /* uridecodebin */
                        mainbin[MMPLAYER_M_MUXED_S_BUFFER].gst = NULL;
-                       mainbin[MMPLAYER_M_TYPEFIND].gst = NULL;
                        mainbin[MMPLAYER_M_SRC].gst = NULL;
                }
 
@@ -7749,7 +7748,7 @@ _mmplayer_gst_decode_drained(GstElement *bin, gpointer data)
 }
 
 void
-_mmplayer_gst_element_added(GstElement *bin, GstElement *element, gpointer data)
+_mmplayer_gst_element_added(GstBin *bin, GstElement *element, gpointer data)
 {
        mmplayer_t *player = (mmplayer_t *)data;
        const gchar *klass = NULL;
@@ -8252,7 +8251,7 @@ _mmplayer_sync_subtitle_pipeline(mmplayer_t *player)
        current_state = GST_STATE(mainbin[MMPLAYER_M_PIPE].gst);
 
        // sync clock with current pipeline
-       curr_clock = GST_ELEMENT_CLOCK(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst);
+       curr_clock = gst_element_get_clock(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst);
        curr_time = gst_clock_get_time(curr_clock);
 
        base_time = gst_element_get_base_time(GST_ELEMENT_CAST(player->pipeline->mainbin[MMPLAYER_M_PIPE].gst));
@@ -8271,6 +8270,8 @@ _mmplayer_sync_subtitle_pipeline(mmplayer_t *player)
                if (GST_STATE_CHANGE_FAILURE == ret) {
                        LOGE("fail to state change.");
                        result = MM_ERROR_PLAYER_INTERNAL;
+                       if (curr_clock)
+                               gst_object_unref(curr_clock);
                        goto ERROR;
                }
        }