Hi,
The docs don't provide an explanation of how data is shared between the ScriptNode and other nodes and what the synchronisation behaviour is. From the people tracker example i can see that tracklets are retrieved from a dict-like object called node.io and that accessing the tracklets appears to be a blocking call. To experiment further, I inserted a 0.5 second sleep in the python script and I noticed that this slowed down both output queues of the pipeline (i.e. both the video output and script output), but it didn't cause the input video queue to back up/block as expected. The tracklets appeared to back up too, which means that if the script is consistently slower than the input stages of the pipeline, then the device will eventually run out of memory.
Would someone be able to describe what the expected behaviour in the above scenario is?