namespace VideoUpdate; table Setup { video_format: string; width: uint16; height: uint16; redraw_rate: uint16; } enum FrameType: byte { PFRAME, IDR, } table DecodeUnit { frame_number: uint16; frame_type: FrameType; receive_time_ms: uint16; data: [ubyte]; } union Update { Setup:Setup, DecodeUnit:DecodeUnit, } table VideoUpdate { update: Update; } root_type VideoUpdate;