STANAG 4609 Player .NET SDK
Version 3.9.1
|
The STANAG Player SDK synchronizes video, audio, klv and private data frames/packets, according to their time stamps (PTS). Once matching frames (for each incoming pid) are found, the SDK notifies through a callback on their data, and then forwards the list of "synced video / data frames" to the application layer. You can specify an allowed waiting time using MaxDelay parameter.
There are two different scenarios:
In this mode, which is mostly used when the processing of uncompressed video frames is needed, the SyncFrameEvent provides a list of synchronized frames and data packets, so there is no additional synchronization required.
This mode provides a smooth video playback as the interval betweem the frame presentation is handled internally. In this mode, the SyncFrameEvent provides a list of synchronized frames and data packets, but they don't exactly match the video currently shown in the window. The internal SyncSampleGrabber filter has video (YUV) output pin, which then connects to VMR9 through a scaler. VMR9 schedules the display of each frame according to the sample time stamp (PTS). When Source is a file, it is expected that the Grabber Filter’s output fifo will contain several pending frames. In this scenario you have some extra time for data processing (as you receive it in advance). In order to use the metadata synchronized to the currently displayed video (for overlay purposes, for example) it must be delayed (with FIFO), as explained above.