- Posts: 39
- Joined: Tue Jun 17, 2014 7:04 pm
Hello Jonas,
IDeckLinkOutput::DisplayVideoFrameSync and IDeckLinkOutput::ScheduleVideoFrame will both cause video frames to be output at the next clock interval for the specified video mode.
The primary difference is that DisplayVideoFrameSync will write/overwrite the next frame for video output, while scheduled playback (ScheduleVideoFrame / IDeckLinkVideoOutputCallback::ScheduledFrameCompleted) will push the next video frame onto a queue to be output (making it possible to insulate the video output from application latency by increasing the preroll).
If the application were using scheduled playback, the frame result in ScheduledFrameCompleted provides a means to identify if a frame was displayed late or dropped, and to correct for this situation.
If it fits the structure of your application, scheduled playback is the preferred playback mechanism, if not, it is perfectly reasonable to use DisplayVideoFrameSync.
Importantly, the minimum latency with both methods is 1 frame.
Hope this helps.
Regards
Waqqas