static void gst_play_sink_convert_bin_dispose (GObject * object) { GstPlaySinkConvertBin *self = GST_PLAY_SINK_CONVERT_BIN_CAST (object); gst_play_sink_convert_bin_remove_elements (self); G_OBJECT_CLASS (parent_class)->dispose (object); }
static void gst_play_sink_convert_bin_finalize (GObject * object) { GstPlaySinkConvertBin *self = GST_PLAY_SINK_CONVERT_BIN_CAST (object); gst_object_unref (self->sink_proxypad); g_mutex_clear (&self->lock); G_OBJECT_CLASS (parent_class)->finalize (object); }
static GstStateChangeReturn gst_play_sink_convert_bin_change_state (GstElement * element, GstStateChange transition) { GstStateChangeReturn ret; GstPlaySinkConvertBin *self = GST_PLAY_SINK_CONVERT_BIN_CAST (element); switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY: GST_PLAY_SINK_CONVERT_BIN_LOCK (self); unblock_proxypad (self); GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self); break; case GST_STATE_CHANGE_READY_TO_PAUSED: GST_PLAY_SINK_CONVERT_BIN_LOCK (self); gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED); gst_play_sink_convert_bin_set_targets (self, TRUE); self->raw = FALSE; GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self); break; default: break; } ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); if (ret == GST_STATE_CHANGE_FAILURE) return ret; switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY: GST_PLAY_SINK_CONVERT_BIN_LOCK (self); gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED); gst_play_sink_convert_bin_set_targets (self, TRUE); self->raw = FALSE; GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self); break; case GST_STATE_CHANGE_READY_TO_PAUSED: GST_PLAY_SINK_CONVERT_BIN_LOCK (self); unblock_proxypad (self); GST_PLAY_SINK_CONVERT_BIN_UNLOCK (self); break; default: break; } return ret; }