Transform plugin outbuf - plugin write problem

张若 zr92zr at
Tue May 16 07:03:04 UTC 2017

Actually, I just write based on the gsttransform.c/h in gst-template.
I only modify the part with transform_ip () to transform ().
In details:
1. Change the definition to:
    static GstFlowReturn gst_plugin_template_transform (GstBaseTransform *
base, GstBuffer *inbuf,
    GstBuffer * outbuf);
2. Change class init to:
   GST_BASE_TRANSFORM_CLASS (klass)->transform =
      GST_DEBUG_FUNCPTR (gst_plugin_template_transform);
3. Change the main flow to:
    static GstFlowReturn
gst_plugin_template_transform (GstBaseTransform * base, GstBuffer *inbuf,
GstBuffer * outbuf)
   GstMapInfo map_in;
   GstMapInfo map_out;
   gst_buffer_map (inbuf, &map_in, GST_MAP_READ);
   gst_buffer_map (outbuf, &map_out, GST_MAP_WRITE);
   gst_buffer_unmap (inbuf, &map_in);
   gst_buffer_unmap (outbuf, &map_out);
  return GST_FLOW_OK;

The other parts are remained. However, it only displays black, and when i
check the outbuf, it has camera capture data.

Best regards,


2017-05-15 16:48 GMT+02:00 Nicolas Dufresne <nicolas at>:

> Le lundi 15 mai 2017 à 16:04 +0200, 张若 a écrit :
> > When I use GstFlowReturn (*transform_ip) (GstBaseTransform *trans,
> > GstBuffer *buf), it works fine. Inside the function I do nothing to
> > the buffer. The ximagesink display is the camera capture.
> >
> > Because of what I need is to change the buffer size, I come
> > to GstFlowReturn (*transform) (GstBaseTransform *trans, GstBuffer
> > *inbuf, GstBuffer *outbuf).
> > In this function, I first do a simple test with copying inbuf to
> > outbuf. I check the data in outbuf which seems to be changed with
> > camera captures. However, the ximagesink display is always black. I
> > don't know why. It should be same to what I did in (*transform_ip),
> > but not.
> This is most likely a bug in your code, which isn't visible to us.
> regards,
> Nicolas
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list