I am implementing a IMFSampleGrabberSinkCallback based class to capture and preview video frames from video files.
The IMFMediaType passed in to MFCreateSampleGrabberSinkActivate() specifies MFVideoFormat_RGB32, so I am configuring
IMFSampleGrabberSinkCallback::::OnProcessSample() to receive data in uncompressed RGB32 format.
And everything almost works.
I have been able to successfully playback .wmv files at resolutions of (640, 480) and (1920, 1080).
I have also succeeded in playing back an .mp4 file of resolution (1280, 720).
However the .mp4 files of resolution (1920, 1080) do not work. No errors are reported by any of the MF system calls. But the IMFSampleGrabberSinkCallback::::OnProcessSample() function is simply never called for these files.
MFRequireProtectedEnvironment() returns S_FALSE, so I do not think that is an issue.
Does anyone know what might be happening here? Can anyone point me to IMFSampleGrabberSinkCallback sample code that can reliably process 1080 hd mp4 files?