I found the trigger for the output type change. The H.264 decoder returns `MF_E_TRANSFORM_STREAM_CHANGE` to change the format, presumably because the aligned size has become known. GStreamer does this too, so our decoder transform is already compliant. Wine's media source currently decodes the stream, so there is no transform to trigger this change in the session engine, hence the test failure there. After that is fixed, the only remaining issue will be to pass the format change down to the sink.
I added a transform test.