static gboolean pad_event (GstPad *pad, GstEvent *event) { GstOmxBaseVideoEnc *self; GstOmxBaseFilter *omx_base; self = GST_OMX_BASE_VIDEOENC (GST_OBJECT_PARENT (pad)); omx_base = GST_OMX_BASE_FILTER (self); GST_INFO_OBJECT (self, "begin: event=%s", GST_EVENT_TYPE_NAME (event)); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_CROP: { gint top, left; gst_event_parse_crop (event, &top, &left, NULL, NULL); omx_base->in_port->n_offset = (self->rowstride * top) + left; return TRUE; } default: { return parent_class->pad_event (pad, event); } } }
static gboolean pad_event (GstPad *pad, GstEvent *event) { GstOmxBaseVfpc2 *self; GstOmxBaseFilter2 *omx_base; self = GST_OMX_BASE_VFPC2 (GST_OBJECT_PARENT (pad)); omx_base = GST_OMX_BASE_FILTER2 (self); GST_INFO_OBJECT (self, "begin: event=%s", GST_EVENT_TYPE_NAME (event)); switch (GST_EVENT_TYPE (event)) { case GST_EVENT_CROP: { gst_event_parse_crop (event, &self->top, &self->left, NULL, NULL); return TRUE; } default: { return parent_class->pad_event (pad, event); } } }