Hi again,
My custom (video) renderer uses a pull model meaning the renderer asks for a sample (= a buffer containing a frame) to its downstream node which either outputs next sample to renderer or asks its downstream node. The "request" is passed from node to node until it reaches source node which then feeds the upstream node, etc. The data is travelling up the chain up to the renderer.
In a push model, the source node feeds upstream node until it can't accept data any more.
I've read some chunks of vlc source code and I think vlc uses the latest but I'm not sure.
Either way, I need to control the data flow manually in order to provide frame-by-frame feature (back and forth with caching).
I'll continue reading code but if you have any input, it would be nice.