<div>Thanks a lot, now I see.</div><div> </div><div> </div><div>It was tricky, because I didn't find the documentation for signal in the web.</div><div>But in appsrc's code it exists:</div><div> </div><div><div>/**</div><div>    * GstAppSrc::push-buffer:</div><div>    * @appsrc: the appsrc</div><div>    * @buffer: a buffer to push</div><div>    *</div><div>    * Adds a buffer to the queue of buffers that the appsrc element will</div><div>    * push to its source pad. This function does not take ownership of the</div><div>    * buffer so the buffer needs to be unreffed after calling this function.</div><div>    *</div></div><div> </div><div>And the web-page only says:</div><div>----</div><div>The main way of handing data to the appsrc element is by calling the <a title="gst_app_src_push_buffer ()" href="https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html#gst-app-src-push-buffer"><code>gst_app_src_push_buffer()</code></a> method or by emitting the push-buffer action signal.</div><div>----</div><div> </div><div>But <a title="gst_app_src_push_buffer ()" href="https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html#gst-app-src-push-buffer"><code>gst_app_src_push_buffer</code></a></div><div>is not a signal handler for "push-buffer", that's what's tricky.</div><div> </div><div>-- </div><div>С уважением,</div><div>Слободенюк Александр Игоревич</div><div> </div><div>контактный телефон: +7-925-050-64-62</div><div> </div><div> </div><div> </div><div>06.01.2018, 05:01, "Nicolas Dufresne" <nicolas@ndufresne.ca>:</div><blockquote type="cite"><div><div> <div> <div>Le 5 janv. 2018 4:20 PM, "Sebastian Dröge" <<a href="mailto:sebastian@centricular.com">sebastian@centricular.com</a>> a écrit :<blockquote style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex;">On Fri, <span>2018-01-05</span> at 15:38 -0500, Nicolas Dufresne wrote:<br />> [...]<div>> ><br />> ><br />> > So, thanks for your attention, hope to clear this moment.<br />><br />> Unless I'm missing something, it looks like a bug in the tutorial.<br />> Can you file a bug at <a target="_blank" href="http://bugs.gnome.org/">bugs.gnome.org</a> ?<br /> </div>No, this is actually correct. gst_app_src_push_buffer() the function<br />takes ownership of the buffer, the signal doesn't and can't. Signal<br />arguments are only borrowed by the signal handlers, ownership stays<br />with the signal emitter.</blockquote></div></div></div><div> </div><div>Ok, still worth filing a bug, we could add a mention in the signal handler, even if slightly redundant, it would help.</div><div> </div><div> </div><div><div><div> <blockquote style="margin:0 0 0 0.8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">--<br />Sebastian Dröge, Centricular Ltd · <a target="_blank" href="https://www.centricular.com/">https://www.centricular.com</a></font><br /><br />_______________________________________________<br />gstreamer-devel mailing list<br /><a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br /><a target="_blank" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br /> </blockquote></div></div></div></div>,<p>_______________________________________________<br />gstreamer-devel mailing list<br /><a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br /><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></p></blockquote>