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.