[0.6.289] Fix not-linked error during prepare
[platform/core/multimedia/libmm-player.git] / src / mm_player_gst.c
index c240c25..ec3a3b7 100644 (file)
@@ -1573,7 +1573,6 @@ static void
 __mmplayer_gst_handle_state_message(mmplayer_t *player, GstMessage *msg)
 {
        mmplayer_gst_element_t *mainbin;
-       const GValue *voldstate, *vnewstate, *vpending;
        GstState oldstate = GST_STATE_NULL;
        GstState newstate = GST_STATE_NULL;
        GstState pending = GST_STATE_NULL;
@@ -1587,20 +1586,7 @@ __mmplayer_gst_handle_state_message(mmplayer_t *player, GstMessage *msg)
        if (msg->src != (GstObject *)mainbin[MMPLAYER_M_PIPE].gst)
                return;
 
-       /* get state info from msg */
-       voldstate = gst_structure_get_value(gst_message_get_structure(msg), "old-state");
-       vnewstate = gst_structure_get_value(gst_message_get_structure(msg), "new-state");
-       vpending = gst_structure_get_value(gst_message_get_structure(msg), "pending-state");
-
-       if (!voldstate || !vnewstate) {
-               LOGE("received msg has wrong format.");
-               return;
-       }
-
-       oldstate = (GstState)voldstate->data[0].v_int;
-       newstate = (GstState)vnewstate->data[0].v_int;
-       if (vpending)
-               pending = (GstState)vpending->data[0].v_int;
+       gst_message_parse_state_changed(msg, &oldstate, &newstate, &pending);
 
        LOGD("state changed [%s] : %s ---> %s     final : %s",
                GST_OBJECT_NAME(GST_MESSAGE_SRC(msg)),