namespace VideoUpdate; table Setup { video_format: string; width: uint16; height: uint16; redraw_rate: uint16; } enum FrameType: byte { PFRAME, IDR, } table DecodeUnitStart { frame_number: uint64; frame_type: FrameType; num_buffers: uint64; receive_time_ms: uint16; full_length: uint64; } table DecodeUnitBuffer { frame_number: uint64; buffer_index: uint64; buffer_offset: uint64; data: [ubyte]; } union Update { Setup:Setup, DecodeUnitStart:DecodeUnitStart, DecodeUnitBuffer:DecodeUnitBuffer, } table VideoUpdate { update: Update; } root_type VideoUpdate;