Video Crop while paused?

Hey! I am working on a player using gstreamer, videocrop works perfectly while pipeline is playing, I have created zoom can even drag video while zoomed so u can check different corners and so on… The problem comes when video is paused, it is very slow to drag when paused, I update it using:

void HttpVideoPlayer::  updateZoom() {
    if (pipeline) {
        g_object_set(crop, "left", leftCrop, "right", videoWidth - (leftCrop + cropWidth), "top", topCrop, "bottom",
                     videoHeight - (topCrop + cropHeight), nullptr);
        if (paused) {
            gint64 current;
            gst_element_query_position(pipeline, GST_FORMAT_TIME, &current);
            if( current > 0){
                    gst_element_seek_simple(pipeline, GST_FORMAT_TIME,
                                            static_cast<GstSeekFlags>(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT), current);
            }
        }
    }
}

My question is what am i doing wrong are there any better alternatives for update then seeking? Maybe videocrop just isnt to be used when paused? If that is so are there any elements that are?