namespace hyperionnet; // A priority value of -1 clears all priorities table Register { origin:string (required); priority:int; } table RawImage { data:[ubyte]; width:int = -1; height:int = -1; } table NV12Image { data_y:[ubyte]; data_uv:[ubyte]; width:int; height:int; stride_y:int = 0; stride_uv:int = 0; } union ImageType {RawImage, NV12Image} table Image { data:ImageType (required); duration:int = -1; } table Clear { priority:int; } table Color { data:int = -1; duration:int = -1; } union Command {Color, Image, Clear, Register} table Request { command:Command (required); } root_type Request;