On Mon Jul 8 01:58:33 2024 +0000, Brendan McGrath wrote:
@rbernon OK, I think I got it. So on Windows, `IMFMediaStream` will output demuxed, but not decoded video buffers. A decoder transform would then perform parsing and decoding before (most likely) passing YUV buffers to the Video Processor transform. This will then perform color conversion to output RGB DXGI buffers that are then queued and passed directly to the application via `IMFSourceReader::ReadSample`. The YUV buffer passed to the Video Processor transform can also be a DXGI buffer if color conversion is done on the GPU. On Wine, we currently output decoded YUV buffers (in I420) from `IMFMediaStream` and then use the Video Processor transform to perform color conversion to RGB. But because its output is a DXGI buffer (when D3D aware), we no longer need `IMFVideoSampleAllocatorEx`. But I'm trying work out why we have `IMFVideoSampleAllocatorEx`. Was it added prior to the use of the Video Processor transform? @nsivov Going by the documentation, Windows 8: https://learn.microsoft.com/en-us/windows/win32/api/mfidl/nn-mfidl-imfmedias...
I meant what kind of sources expose it on Windows.