<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 19, 2018 at 11:06 AM, benravin <span dir="ltr"><<a href="mailto:ben.alex@outlook.com" target="_blank">ben.alex@outlook.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
just to expand on that a bit. you can build a push model API on top of a<br>
pull model API fairly easily; the other way around is hard.<br>
<br>
</span>On a push model on top of pull,  pull will overwrite if push is slow, how to<br>
determine how much buffering is required. Any guideline.<br></blockquote><div><br><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">​You can't know ahead of time. You need to know the behaviour of your non-realtime-safe data sources  (e.g. disks). ​</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">​<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">For reference, in the case of Ardour, we buffer 5 seconds of audio per track by default. This is enough in most cases, but not all; in some cases, it is way more than  necessary.<br><br></div></div></div></div></div>