Transform plugin outbuf - plugin write problem
zr92zr at gmail.com
Tue May 16 08:46:45 UTC 2017
In 3, I forget to put 1 line while writing the email:
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);
map_out.data = map_in.data;
gst_buffer_unmap (inbuf, &map_in);
gst_buffer_unmap (outbuf, &map_out);
2017-05-16 9:03 GMT+02:00 张若 <zr92zr at gmail.com>:
> 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 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