'Internal method for setting the raw GStreamer state.
.. digraph:: gst_state_transitions
graph [rankdir="LR"];
node [fontsize=10];
"NULL" -> "READY"
"PAUSED" -> "PLAYING"
"PAUSED" -> "READY"
"PLAYING" -> "PAUSED"
"READY" -> "NULL"
"READY" -> "PAUSED"
:param state: State to set playbin to. One of: `Gst.State.NULL`,
`Gst.State.READY`, `Gst.State.PAUSED` and `Gst.State.PLAYING`.
:type state: :class:`Gst.State`
:rtype: :class:`True` if successfull, else :class:`False`'

def _set_state(self, state):

    self._target_state = state
    result = self._playbin.set_state(state)
    gst_logger.debug(u'Changing    state    to    %s:    result=%s', state.value_name, result.value_name)
    if (result == Gst.StateChangeReturn.FAILURE):
        logger.warning(u'Setting    GStreamer    state    to    %s    failed', state.value_name)
        return False
    return True
