Transform plugin outbuf - plugin write problem
zr92zr at gmail.com
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 ().
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 =
3. Change the main flow to:
gst_plugin_template_transform (GstBaseTransform * base, GstBuffer *inbuf,
GstBuffer * outbuf)
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);
The other parts are remained. However, it only displays black, and when i
check the outbuf, it has camera capture data.
2017-05-15 16:48 GMT+02:00 Nicolas Dufresne <nicolas at ndufresne.ca>:
> 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.
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel