qtmux: cannot reliably wait to fix caps before the first buffer
Problem has to do with the aggregator design, the internal aggregator sink pad queue and around aggregator's delayed negotiation in general.
- Caps events are serialised so are pushed through the queue just like buffers.
- qtmux contains a hook at the start of the queue to reject caps changes once successfully set
- caps successfully set is decided in the src aggregator task
This is also racy-ish but qtmux will not output until all sink pads have caps so that is mitigated there.
Any attempt to move to fixing the caps at the generation of the first output buffer would introduce a race where the caps could make it into the sink event queue and then be rejected. This means that that input stream would not be muxed at all (or maybe even appear to hang) depending on timings with some scenarios.