The base class for all Capturers in the system. Incoming frames will be user types implementingIPixelCaptureInputFrame. Outgoing frames should be user types implementingIPixelCaptureOutputFrame. Each capturer system should expect one known input user type. Implement CreateOutputBuffer to create your customIPixelCaptureOutputFrameimplementation to hold the result of the capture process. Implement BeginProcess to start the capture work which ideally should be an async task of some sort. The capture work should fill the givenIPixelCaptureOutputFrameand then call EndProcess to indicate the work is done. While the capture should be async it should only expect to work on one frame at a time.