Initially because I wanted to use MFT_OUTPUT_DATA_BUFFER pEvents to carry the format changes and avoid having to allocate dedicated event list for every stream but it ended up differently as events are now pushed directly to the stream queues.
Then it still looked convenient to reduce the amount of code, using the IMFMediaEvent as a wrapper structure around events / samples instead of a custom one, as well as reducing the manual allocations / reference counts.
Is there any drawback using IMFCollection?