<div>Hi everybody! Happy new year!!</div><div> </div><div>I guess I've found a little mismatch in the documentation, and can't understand, where's the truth.</div><div>It's about appsrc's push-buffer signal :</div><div> </div><div>https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html#gst-app-src-push-buffer</div><div> </div><div>The documentation says:</div><div>"This function takes ownership of the buffer." .</div><div> </div><div>It looks the same comparing to gst_pad_push function:</div><div><a href="https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push">https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-push</a></div><div>"In all cases, success or failure, the caller loses its reference to <em><code>buffer</code></em> after calling this function."</div><div> </div><div>And what I can also see, is that gst-plugins-good's plugins don't unref the output buffer after pushing it downstream.</div><div><div> </div><div> </div><div>But when we take a look at tutorial 8 "Short-cutting the pipeline" :</div><div><a href="https://gstreamer.freedesktop.org/documentation/tutorials/basic/short-cutting-the-pipeline.html">https://gstreamer.freedesktop.org/documentation/tutorials/basic/short-cutting-the-pipeline.html</a></div><div> </div><div>we see next code:</div><div> </div><pre><code>  <span>/* Push the buffer into the appsrc */</span>
  g_signal_emit_by_name <span>(</span>data<span>-></span>app_source<span>,</span> <span>"push-buffer"</span><span>,</span> buffer<span>,</span> <span>&</span>ret<span>)</span><span>;</span>

  <span>/* Free the buffer now that we are done with it */</span>
  gst_buffer_unref <span>(</span>buffer<span>)</span><span>;</span></code></pre></div><div> </div><div> </div><div>So, thanks for your attention, hope to clear this moment.</div><div> </div><div> </div><div>-- </div><div>С уважением,</div><div>Слободенюк Александр Игоревич</div><div> </div><div>контактный телефон: +7-925-050-64-62</div><div> </div>