- Posts: 5
- Joined: Tue Sep 08, 2015 8:09 am
- Location: Poland
Hi.
From time to time I have issues with different steps in values received from two IDeckLinkVideoInputFrame methods:
GetStreamTime() and GetHardwareReferenceTimestamp().
As I mainly work on i50 and p25 signals, for each frame both streamTime and hardwareReferenceTimestamp shall increase by 40ms. There is a noise added to hardware time, as this is the exact time the frame has arrived at but generally speaking the step value is near to 40ms.
Once in a while I get an extra 40ms (one or multiple) step to streamTime, which is not visible in hardwareReferenceTimestamp. This is usually related to lack of input frame signalized by bmdFrameHasNoInputSource flag.
In the example bellow, you can find for both hardware and stream time the exact time of the frame, its duration and the calucated step. All in miliseconds.
In the second last line you will find out that while the hardwareReferenceTimestamp has increased by 120ms the streamTime has increased by 160ms signalizing one extra frame.
Is this for a reason or just a bug?
From time to time I have issues with different steps in values received from two IDeckLinkVideoInputFrame methods:
GetStreamTime() and GetHardwareReferenceTimestamp().
As I mainly work on i50 and p25 signals, for each frame both streamTime and hardwareReferenceTimestamp shall increase by 40ms. There is a noise added to hardware time, as this is the exact time the frame has arrived at but generally speaking the step value is near to 40ms.
Once in a while I get an extra 40ms (one or multiple) step to streamTime, which is not visible in hardwareReferenceTimestamp. This is usually related to lack of input frame signalized by bmdFrameHasNoInputSource flag.
In the example bellow, you can find for both hardware and stream time the exact time of the frame, its duration and the calucated step. All in miliseconds.
- Code: Select all
hw: 172796090 40 0 st: 0 40 0
hw: 172796130 40 40 st: 40 40 40
hw: 172796170 40 40 st: 80 40 40
hw: 172796250 40 39 st: 160 40 40
hw: 172796290 40 40 st: 240 40 80
2786.804 NO Input source! hw: 172796358 40 sw: 280 40
2786.816 NO Input source! hw: 172796370 40 sw: 360 40
hw: 172796410 40 120 st: 400 40 160
hw: 172796450 40 40 st: 440 40 40
In the second last line you will find out that while the hardwareReferenceTimestamp has increased by 120ms the streamTime has increased by 160ms signalizing one extra frame.
Is this for a reason or just a bug?