Page 1 of 1

Difference between StreamTime and HardwareReferenceTimeStamp

PostPosted: Fri Aug 04, 2017 9:50 am
by Jules Davis
In the DeckLink SDK, when a video frame arrives, there are two functions that return a timestamp:

IDeckLinkVideoInputFrame::GetStreamTime - returns the time and duration of a captured video frame for
a given timescale.

IDeckLinkVideoInputFrame::GetHardwareReferenceTimestamp - returns frame time and frame duration for
a given timescale.

What is the difference between these two functions?

Thanks

Jules

Re: Difference between StreamTime and HardwareReferenceTimeS

PostPosted: Thu Aug 31, 2017 6:04 pm
by Andres Gonzalez
I would like to bump this question because I also have wondered what the difference is.

-Andres

Re: Difference between StreamTime and HardwareReferenceTimeS

PostPosted: Mon Sep 11, 2017 5:20 am
by Cameron Nichols
Hi Jules/Andres,

To clarify:
IDeckLinkVideoInputFrame::GetStreamTime method will return time as per BMDTimeScale, but as a reference to the number of input frames. eg if Time Scale is 30000, and video mode 1080i59.94, then GetStreamTime will return 0, 1001, 2002, 3003, ... [1]

IDeckLinkVideoInputFrame::GetHardwareReferenceTimestamp method also returns time in the BMDTimeScale format, however this will be the system clock when the video frame is fully captured by hardware.

Regards
Cameron

Ref
[1] 2.7.2 Time Representation