On Tue Feb 27 13:53:03 2024 +0000, Nikolay Sivov wrote:
I think on Windows it's to distinguish between "simpler" color conversion and VideoProcessorMFT. I don't know if we care too much, but it's obviously exposed to applications.
Yes, in this MR I'm handling the two cases a bit differently (wrt GetServiceForStream mostly, hiding the processor transform like it should, when advanced mode isn't enabled), but for simplicity a video processor is used in both cases. This ends up, like the comments in the tests describe, with accepting additional conversions from what we should.
As it would otherwise just fail instead, I suppose it's alright. There's one visible difference though, with IMFSourceReaderEx_GetTransformForStream, which allows to access every transform in the pipeline, and which doesn't hide the video processor transform in the non-advanced case. It's a very tiny corner cases, I hope it'll be alright (and we can probably tweak it later if needed).