Clearly, all three solutions present limitations and the conventional buffer memory management approach is not a good mechanism for coding large-scale interacting software.
As an independent entity, video coder USES different control blocks for different coding channels, and communicates with other entities through a 'message delivery' mechanism.