Yep, 4.1 or later could work, but only if the plug-in itself were updated to set the PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER flag (as you mentioned in your email).
Saaay, Zac... I'm wrestling with some reentrancy bugs in my AE Plug-ins just now.
Assuming I set the PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER flag, can I depend on a plugin being invoked ONLY from one thread?
Because I have some static members, which are (of course) not reentrant friendly. IF running in a single thread, should the following be safe:
static MyBadGlobals g;
mainproc(in_data & pals)
MyBadGlobals oldGlobals = g;
... all done with my bad globals, restore them
g = oldGlobals;
This appears to now let my plug-in successfully check out a layer that uses the same plug-in... but (apart from globals being bad, which is true) do we think this is actually safe & reliable? Thanks for any insights!
Yes, this flag will cause your plugin to only be called from one thread at a time. We strongly advise against using this flag as it will cause numerous performance issues.
Thanks for the confirmation.
We strongly advise against using this flag as it will cause numerous performance issues.