On 2020-09-18 22:04, Esme Povirk (they/them) wrote:
+ if (!IsEqualIID(&IID_IUnknown, iid) && !IsEqualIID(&IID_IWICBitmapFrameDecode, iid)) + return E_NOINTERFACE;
This should accept IWICBitmapSource.
+ if (This->frame) IWICBitmapFrameDecode_Release(This->frame); + if (This->decoder) This->decoder->Release(&This->decoder);
We can't assume the caller will release the frame before the decoder.
- *count = 0; - return E_NOTIMPL; + *count = 1; + return S_OK;
This should probably do something similar to what you had before where we print a fixme if there are multiple frames.
I've put the FIXME message in the Initialize call, I suppose GetFrameCount is not necessarily called, and it felt a bit weird to get the actual frame count and only return 1 right after. I suppose we can also store the frame count and output a FIXME message here there too though. -- Rémi Bernon <rbernon(a)codeweavers.com>