That should be reviewed by someone who keeps track of what's going on in winegstreamer transform, and I think that's @rbernon himself. I have a quick question regarding changes here, what's the idea behind have a copier internally? Is it for the case when downstream node does not provide d3d samples? I'm not entirely sure how this is resolved on windows, I know that this happens: source -> unware-mft -> evr ==> source -> unaware-mft -> copier -> evr Then, if you have: source-> aware-mft -> evr ==> does that use just one allocator from evr, or mft provides another one? and in any case, does it get resolved to: source -> copier -> aware-mft -> evr? Source in general can support allocators I think, but there is a special API for those, and regular media formats sources don't have that. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5459#note_67468