Carrying buffer address between elements

Sebastian Dröge sebastian at centricular.com
Wed Nov 23 08:04:01 UTC 2016


On Tue, 2016-11-22 at 06:24 -0800, Mert Can Ergun wrote:
> Hi,
> 
> I recently posted another question about having multiple mount points and a
> simultaneous recording process on the same RTSP server which consists of an
> element that can't be instantiated twice.
> 
> Sugggested way of doing this was to carry buffers with appsrc and appsink
> and have one static pipeline to include source and appsink and N other
> pipelines with appsrc as their source elements.
> 
> Problem here is, source and some other components use physical memory to
> store frame data and they negotiate with each other to achieve encoding with
> zero copy.
> 
> Can I copy the location of the frame captured by hardware instead of the
> frame buffer itself? How would I decode it as frame in appsrc if I do so?

You could build a GstAllocator, GstMemory and possible a GstBufferPool
around your physical memory, negotiate that between the elements with
the ALLOCATION query and then make use of that.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161123/47514100/attachment-0001.sig>


More information about the gstreamer-devel mailing list