图规范时间戳
一旦图构建完成,各个实体之间的通信通过传递消息(消息本身也是实体)进行。具体而言,一个组件/代码片段可以发布消息实体,另一个可以接收它。发布消息时,消息应始终具有关联的 Timestamp
组件,名称为 “timestamp”。Timestamp
组件包含两个不同的时间值(有关更多信息,请参见 gxf/std/timestamp.hpp
头文件)。
acqtime
- 这是获取消息实体的时间;例如,这通常是相机捕获图像时的驱动程序时间。如果您在代码片段中发布消息,则必须提供此时间戳。pubtime
- 这是图中节点发布消息实体的时间。这将使用调度器的时钟自动更新。
在代码片段中,当使用 Transmitter (tx)
发布消息实体时,有两种方法可以添加所需的 Timestamp
。
tx.publish(Entity message)
:您可以手动添加一个类型为Timestamp
的组件,名称为 “timestamp”,并设置acqtime
。在这种情况下,pubtime
应设置为0
。消息使用publish(Entity message)
发布。此方法将在下一个版本中弃用。tx.publish(Entity message, int64_t acqtime)
:您只需使用acqtime
调用publish(Entity message, int64_t acqtime)
即可。Timestamp 将自动添加。