I need to stream from disk for audio playback, and for normal transport this can be done in a buffered way from a different thread - prefetching the next few seconds.
This buffering will hit it’s limits for rendering that is a lot faster than realtime.
Are there hosts that do not properly set the corresponding plugin format flags, so that isRealtime becomes unreliable in some render scenarios?
I assume that this will be a bigger problem for render-in-place like workflows.
Yeah, unfortunately isRealtime() is not reliable. I believe Ableton is one of the hosts, which does not set the flag correctly. At least it was, did not test in latest version. So, I would not rely on the flag.
I do not know of any other way to reliably test if you are running real-time or not. So, best not to assume anything about that. Or add an option in your UI, which lets your users manually switch the plugin into non-realtime/render mode.