First and foremost, everyone needs to keep in mind that vvvv is not a “real-time” system, because windoze, and all other general-purposes operating systems, are not real-time systems. This means there can ALWAYS be interruptions to program execution, at any time and of any duration. Sure, OS designers try to make things work as smoothly as possible, and there are things you can do to try to minimize the interruptions, but they are a fact of life.
Things CAN run pretty smoothly if your PC is running just one “foreground” process that does not need the whole CPU (which is why your Lava example works fine), but things get messy when you have multiple processes and/or resources running asynchronously that then have to synchronize to get s frame kicked out. I’m pretty sure the VLC node runs as a thread, which means that when vvvv is ready to render a frame, VLC may or may not have a new one ready to show at the right time. Depending on how the handshake is done, that can just mean VLC gives vvvv the same frame as last time, or worse, says gee I got nuttin’ right now and vvvv uses it’s last good frame from VLC.
The latter case, where there is a time period each frame of no good data, means that no matter how tiny a fraction of the overall frame time that may be, as vvvv and VLC rates drift past each other there can be periods when vvvv is talking to VLC at just the wrong time (known as a race condition). Until they drift past that bad timing alignment, vvvv may be repeatedly showing the last good frame it got, making for a very visible hiccup. The reverse can also happen, where asking VLC for something causes vvvv to miss it’s next frame update repeatedly.
Again, I have not looked at the VLC code to see if that is in fact what is going on, but it sure looks and smells like it from long experience of working with asynchronous systems. I ran into exactly this problem with the OpenNI Kinect driver, and had to write better synchronization code to address it - I would see exactly the hiccups in the incoming Kinect data as we see with VLC at times.
So my guess is that the VLC nodes need similar sync code.
And don’t even get me started about boygroup video sync! I don’t know of anywhere else that “within one second” is considered “sync”! Uh oh, I feel a forum post coming up…