This commit is contained in:
Siwat Sirichai 2025-11-11 02:07:17 +07:00
parent a519dea130
commit 16842186c7
2 changed files with 24 additions and 11 deletions

View file

@ -222,7 +222,17 @@ class StreamConnection:
# The frame in result["frame"] is preprocessed (resized, normalized)
# We need the original frame for visualization
frame_ref = result["metadata"].get("frame_ref")
frame_tensor = frame_ref.rgb_tensor if frame_ref else None
# CRITICAL: Clone the frame tensor BEFORE freeing frame_ref
# The frame_ref will be freed at the end, so we need a copy
if frame_ref:
frame_tensor = frame_ref.rgb_tensor.clone()
logger.debug(
f"Cloned frame tensor for {self.stream_id}: {frame_tensor.shape}"
)
else:
frame_tensor = None
logger.warning(f"No frame_ref in metadata for {self.stream_id}")
# Create tracking result
tracking_result = TrackingResult(
@ -231,7 +241,7 @@ class StreamConnection:
tracked_objects=tracked_objects,
detections=detections,
frame_shape=result["metadata"].get("shape"),
frame_tensor=frame_tensor, # Original frame, not preprocessed
frame_tensor=frame_tensor, # Cloned original frame
metadata=result["metadata"],
)