The direct depacketization example's unpack() function reads three variables at the end of the packet: `latency`, `timecode`, and `timecodeSub`. From what I can see, the `latency` variable represents the true timecode, incrementing by 1.0 for every tick on my eSync. The timecode variables are always 0. Is this correct, and under what conditions should I interpret this `latency` variable as the timecode?
The Timecode parameter in interpreted differently when streaming Live or from File Playback (Edit).
In Live mode, the Timecode parameter is only valid when SMPTE timecode is present in your Mocap hardware setup, typically when using the eSync and a timecode generator. When present, the Timecode parameter will be a correctly formatted SMPTE timecode value.
In Edit Mode, the Timecode parameter is the current frame number converted to SMPTE Timecode format.
The NatNet SDK provides helper routines to decode the Timecode parameter into a string friendly format as well as the subframe of mocap data that may exist between whole timecode frames.
Latency is the capture computer's hardware timestamp for the given frame, which is also displayed in Motive in the Camera Preview viewport when camera info is enabled. This is the same whether live or playback from file.