Preventing Metadata Frame Drops in PlaybackCurrentTimeIndication Event

According to the documentation, during normal playback, the PlaybackCurrentTimeIndication event may be triggered approximately 25 times per second. In the sample code (MetadataPlaybackViewer), the metadata to be displayed is retrieved based on the event’s timestamp. We have observed that if the metadata frame rate is higher, some metadata appears to be skipped (i.e., some of the metadata serving as trigger data is omitted).

Could you please advise if there is an alternative approach to avoid this frame dropping issue?

The 25 times per second rate mentioned is likely just an example. The caution here is that if your handler performs any time-consuming operations upon receiving the notification, it might not complete in time for the next event. Therefore, your handler should only perform operations that are guaranteed to complete within the interval between two events.

Reference: Playback Current Time Indication

I tested this by modifying the Bounding Box Metadata Provider sample to run faster and observed the timestamps using the MetadataPlaybackViewer sample. Running everything on the same PC (eliminating network timing issues), I could easily achieve rates faster than 25 times per second without observing any frame drops.

Reference: Bounding Box Metadata Provider Sample

Reference: Metadata Playback Viewer Sample

Note: In the Bounding Box Metadata Provider sample, the variable `_timeBetweenMetadata` is not descriptively named. It introduces a pause but does not ensure that data is sent at that interval.

If you still believe there is an issue after evaluating this, please provide more details about your setup, what actions you are performing, and what you are observing.