appsrc/appsink API vs Signals

Sebastian Dröge sebastian at
Tue Jun 6 06:11:26 UTC 2023

On Mon, 2023-06-05 at 09:27 -0400, Nicolas Dufresne via gstreamer-devel
> Le dimanche 04 juin 2023 à 21:29 +0300, Eslam Ahmed via gstreamer-
> devel a écrit :
> > 
> > I was wondering if there is a performance difference between using
> > appsrc/appsink via their own API (by linking gstreamer-app) or
> > through signals, which is more performant in large volumes?
> There shouldn't be much difference. In all cases, the data is placed
> into the appsrc/sink internal queue (unless when the queue is full
> were the signal get blocked. Performance wise, there is no
> difference.

Performance of GObject signals is actually quite bad. That's also why
you have to opt-in via a property to get the signals emitted at all.
Ideally you would use the proper API instead of the signals if
performance is important. The signals were only provided for
compatibility with bindings.

Sebastian Dröge, Centricular Ltd ·
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list