Difference between StreamTime and HardwareReferenceTimeStamp

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message

Jules Davis

  • Posts: 7
  • Joined: Wed Apr 12, 2017 9:14 am
  • Location: Surrey, UK

Difference between StreamTime and HardwareReferenceTimeStamp

PostFri Aug 04, 2017 9:50 am

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?


Jules Davis
CTO Focal Point VR Ltd

Andres Gonzalez

  • Posts: 10
  • Joined: Tue Apr 21, 2015 2:05 am

Re: Difference between StreamTime and HardwareReferenceTimeS

PostThu Aug 31, 2017 6:04 pm

I would like to bump this question because I also have wondered what the difference is.


Cameron Nichols

Blackmagic Design

  • Posts: 132
  • Joined: Mon Sep 04, 2017 4:05 am

Re: Difference between StreamTime and HardwareReferenceTimeS

PostMon Sep 11, 2017 5:20 am

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.


[1] 2.7.2 Time Representation

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 3 guests