- absolutetime_to_nanoseconds(local_timestamp, &local_timestamp_ns);
- struct bt_params *params = bt_params_find(local_timestamp_ns);
- remote_timestamp = mach_bridge_compute_timestamp(local_timestamp_ns, params);
-
-out_unlock:
+#if defined(XNU_TARGET_OS_BRIDGE)
+ uint64_t local_timestamp_ns = 0;
+ if (local_timestamp < now) {
+ absolutetime_to_nanoseconds(local_timestamp, &local_timestamp_ns);
+ struct bt_params *params = bt_params_find(local_timestamp_ns);
+ remote_timestamp = mach_bridge_compute_timestamp(local_timestamp_ns, params);
+ }
+#else
+ struct bt_params params = bt_params_get_latest_locked();
+ remote_timestamp = mach_bridge_compute_timestamp(local_timestamp, ¶ms);
+#endif /* defined(XNU_TARGET_OS_BRIDGE) */