I think the issue is fixed because you're now creating the copier with the same input and output types, using the upstream node output type, instead of querying the, possibly not yet initialized, downstream EVR node media type.
I am using the same type because, from my understanding, it's given that down and up type are compatible at this point and thus the same here. This means I can just provide the up type for both input and output, as the `branch_connect_down` function already tested for format compatibility between MFT/Source and EVR.
I surely can test it, I played a bit with topoedit, but Windows doesn't seem to like adding the copier in my case, or they renamed it to "color converter". Also, I'm only adding the copier between the output node and anything upstream from that, not anywhere else. Afaiu in Wine all nodes, except EVR are not d3d aware and as such it only makes sense to insert copier between the last node and EVR.