About the Appsrc example appsrc-stream

Nicolas Dufresne nicolas at ndufresne.ca
Thu Dec 6 18:52:26 UTC 2018


Le jeudi 06 décembre 2018 à 10:27 +0000, Claire Mantel a écrit :
> Hello,
> 
>  
> 
> We’re building a Gstreamer application with the following pipeline:
> 
> Appsrc à videconvert
> à xvimagsink
> 
>  
> 
> Appsrc will in the end be a image buffer updated at 10Hz but for now we’re just reading png images and putting them in a buffer that we want to push to appsrc.
> 
>  
> 
> We looked into this example
> 
>  https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/app/appsrc-stream.c
> 
>  
> 
> And have a couple of questions.
> 
> -         
> What is the difference between using the function
> gst_app_src_push_buffer() or emitting the signal g_signal_emit_by_name (app->appsrc, "push-buffer", buffer, &ret); (l105 in the example)

gst_app_src_push_buffer() requires to link your application to the libgstapp library. On the other side, the buffer is passed in "transfer-full" manner (giving away your ref) which is more efficient and ensure the buffers can be written/owned by GStreamer without copies.
> -         
> The example uses the signal “need-data” coupled to the callback start_feed, but it’s using the push mode of appsrc, which is confusing since it sounds more like a pull than
>  a push.

need-data signal indicated that the appsrc internal queue is no longer full. Though, it's not a pull API since you don't return a buffer in that callback. Push function simply place a buffer in the queue, unless the queue is full (it is unlimited by default, so it's never full unless configured).
>  
> Thanks in advance for the help!
> Claire
> 
> 
> 
> 
> _______________________________________________gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181206/e139b0b6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181206/e139b0b6/attachment.sig>


More information about the gstreamer-devel mailing list