<HTML><BODY><div>><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">You can safely ignore the preroll sample in your case, and simply block</span><div>>on PullSample in a loop, you also don't need to connect to the signals<br>>(NewSample, NewPreroll) at all.</div><div> </div><div>And I actually block (thread block) and nothing happens. But I need to handle sample in my</div><div>event handler and it didn’t raised.</div><br>><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">Frame-stepping is for going for one sample to the next with any sink,</span><div>>but the level of control you get from appsink makes this feature<br>>irrelevant.</div><div> </div><div>Clear, thank you.</div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Четверг, 27 июля 2023, 18:57 +03:00 от Mathieu Duponchelle <mathieu@centricular.com>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div id="style_16904734392036083786_BODY">You seem to be confusing concepts a bit, I can't answer your question.<br>You can safely ignore the preroll sample in your case, and simply block<br>on PullSample in a loop, you also don't need to connect to the signals<br>(NewSample, NewPreroll) at all.<br><br>Frame-stepping is for going for one sample to the next with any sink,<br>but the level of control you get from appsink makes this feature<br>irrelevant.<br><br>On Thu, 2023-07-27 at 18:40 +0300, Антон Шаров via gstreamer-devel<br>wrote:<div class="mail-quote-collapse">> Hi!<br>> <br>> Thank you for reply!<br>> <br>> > just set up appsink to be sync=false, pull preroll / samples (wait<br>> > for<br>> > signals only if you don't want to block), do your processing, rinse<br>> > /<br>> > repeat.<br>> <br>> I did as you advised (add sync=false) and call PullPreroll in a loops<br>> — <br>> <a href="https://gist.github.com/sharov-am/e895575c8d21753b77f2fa73d9b7ba1e" target="_blank">https://gist.github.com/sharov-am/e895575c8d21753b77f2fa73d9b7ba1e</a> an<br>> d it blocks on appsink.PullPreroll or NewSample.<br>> I’ve tried to set pipe into playing or paused state — nothing, not a<br>> single event raised…<br>> <br>> What is the difference between PullPreroll and NewSample in this<br>> specific approach?<br>> <br>> > frame-stepping doesn't need to enter the picture here,<br>> <br>> Then what for it is usefull? I thought it is manual frame iterating,<br>> step by step. Than what it is useful<br>> for?<br>> <br>> Thanks in advance.</div></div></div></div></blockquote> <div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>С Уважением,<br>Шаров Антон</div></div></div><div> </div></div></BODY></HTML>