in FFmpegInterop/Source/FFmpegInteropMSS.cpp [760:778]
static int FileStreamRead(void* ptr, uint8_t* buf, int bufSize)
{
IStream* pStream = reinterpret_cast<IStream*>(ptr);
ULONG bytesRead = 0;
HRESULT hr = pStream->Read(buf, bufSize, &bytesRead);
if (FAILED(hr))
{
return -1;
}
// If we succeed but don't have any bytes, assume end of file
if (bytesRead == 0)
{
return AVERROR_EOF; // Let FFmpeg know that we have reached eof
}
return bytesRead;
}