EyeTrackVR/EyeTrackApp/Camera/UDP_Camera/DataPacket.py

20 lines
636 B
Python

import struct
class DataPacket:
def __init__(self, buffer, offset, size):
self.frame_num = None
self.id = None
self.buf_size = None
self.data = None
if len(buffer) < offset + 12: # Ensure buffer is large enough for metadata
return
self.frame_num, self.id, self.buf_size = struct.unpack_from("iii", buffer, offset)
current_index = offset + 12
message_length = size - current_index
if message_length < 0 or current_index + message_length > len(buffer):
return
self.data = buffer[current_index:current_index + message_length]