Copying buffer data
Ozhmegov
ElijahOzhmegov at gmail.com
Fri Sep 29 12:52:28 UTC 2017
Hi everyone,
I'm creating a new buffer in my gstreamer's plugins and then I don't
touch that buffer. However, data of old buffer appears in new one. How does
old buffer appear in new one?
Here my C code:
static GstFlowReturn
gst_coder_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
{
Gstcoder *filter;
filter = GST_CODER (parent);
g_print ("%d x %d\n",filter->width,filter->height);
g_print ("Have data of size %" G_GSIZE_FORMAT" bytes!\n",
gst_buffer_get_size (buf));
gint sz = 0;
if ((sz = gst_buffer_get_size(buf)) != 0)
{
* //info stores properties about buffer*
GstMapInfo info;
gst_buffer_map (buf, &info, GST_MAP_WRITE);
*//create template var buffer*
GstBuffer *buffer = gst_buffer_new_allocate(NULL, sz, NULL);
GstMapInfo info1;
gst_buffer_map (buffer, &info1, GST_MAP_WRITE);
gst_buffer_unmap (buf, &info);
gst_buffer_unref (buf);
gst_buffer_unmap (buffer, &info1);
return gst_pad_push (filter->srcpad, buffer);
}
GST_WARNING ("zero sized buffer");
return gst_pad_push (filter->srcpad, buf);
}
I'd appreciate any advice. Thanks
--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
More information about the gstreamer-devel
mailing list