static GstStateChangeReturn gst_y4m_encode_change_state (GstElement * element, GstStateChange transition) { GstY4mEncode *filter = GST_Y4M_ENCODE (element); GstStateChangeReturn ret; switch (transition) { case GST_STATE_CHANGE_NULL_TO_READY: case GST_STATE_CHANGE_READY_TO_PAUSED: break; default: break; } ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state, (element, transition), GST_STATE_CHANGE_SUCCESS); if (ret != GST_STATE_CHANGE_SUCCESS) return ret; switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY: gst_y4m_encode_reset (filter); break; default: break; } return GST_STATE_CHANGE_SUCCESS; }
static void gst_y4m_encode_init (GstY4mEncode * filter) { GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_ENCODER_SINK_PAD (filter)); /* init properties */ gst_y4m_encode_reset (filter); }
static void gst_y4m_encode_init (GstY4mEncode * filter) { filter->sinkpad = gst_pad_new_from_static_template (&y4mencode_sink_factory, "sink"); gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad); gst_pad_set_chain_function (filter->sinkpad, GST_DEBUG_FUNCPTR (gst_y4m_encode_chain)); gst_pad_set_event_function (filter->sinkpad, GST_DEBUG_FUNCPTR (gst_y4m_encode_sink_event)); filter->srcpad = gst_pad_new_from_static_template (&y4mencode_src_factory, "src"); gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad); gst_pad_use_fixed_caps (filter->srcpad); /* init properties */ gst_y4m_encode_reset (filter); }
static void gst_y4m_encode_init (GstY4mEncode * filter) { /* init properties */ gst_y4m_encode_reset (filter); }