On Tue Feb 27 17:33:42 2024 +0000, Rémi Bernon wrote:
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).
I've changed this a bit to hide the converter transforms. Now the only visible difference is that we succeed creating pipelines with more media type than native, but hopefully that shouldn't be an issue.