Push a buffer to appsrc with private data.

Peter Maersk-Moller pmaersk at gmail.com
Tue Apr 30 19:53:02 UTC 2019


Hi.

I need to push a buffer with private data (otherwise allocated and later to
be reused) to appsrc and to be notified, when the buffer has been read and
not used by the pipeline that appsrc sources to.

Is the correct method to use gst_new_buffer_wrapped_full() to get the
buffer with the buffer's data pointer set to the private data and to get a
callback to the notify function I specify, when the buffer has been
read/used by the pipeline (and subsequently destroyed)?

Can I safely assume that the private data are I provided with the call is
NOT freed, when the buffer is destroyed by the pipeline (automatically)?

Since the private data is a video frame that needs to be encoded by the
pipeline (via the appsrc), is it thhen sufficiently to set the PTS for the
buffer to lets say 0 for the first frame (not setting the DTS) , and
something higher for next etc? The answer may be encoder specific, so
assume x264enc.

And is it okay to NOT set the duration for the buffer since I don't
necessarily know the duration when pushing the buffer to appsrc, since at
the time of pushing, I may not yet have the next frame and timestamp ready?

Thanks in advance.
Peter MM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190430/25d3ee59/attachment-0001.html>


More information about the gstreamer-devel mailing list