<html><head><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style></head><body><div>On Mon, 2023-06-05 at 09:27 -0400, Nicolas Dufresne via gstreamer-devel wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>Le dimanche 04 juin 2023 à 21:29 +0300, Eslam Ahmed via gstreamer-devel a écrit :</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>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?</div></div></blockquote><div><br></div><div>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.</div></blockquote><div><br></div><div>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.</div><div>Ideally you would use the proper API instead of the signals if performance is important. The signals were only provided for compatibility with bindings.</div><div><br></div><div><span><pre>-- <br></pre><div><div><span style="font-family: Calibri, sans-serif; font-size: 14.666667px;">Sebastian Dröge, Centricular Ltd · </span><a href="https://www.centricular.com/" title="Click to open https://www.centricular.com/" style="color: rgb(0, 0, 238); font-family: Calibri, sans-serif; font-size: 14.666667px;">https://www.centricular.com</a></div></div></span></div></body></html>