syntax = "proto3"; import "cmvr/api/common.proto"; package cmvr.api; message FrameData { enum FrameType { U8C1 = 0; U16C1 = 1; U8C3 = 2; U16C3 = 3; F16C1 = 4; F32C1 = 5; } bytes data = 1; int32 width = 2; int32 height = 3; FrameType type = 4; string codec = 5; bool is_key_frame = 6; } message CameraState { bool is_initialized = 1; bool is_opened = 2; bool is_streaming = 3; bool is_recording = 4; bool is_error = 5; string error_message = 6; int32 fps = 7; int32 width = 8; int32 height = 9; } message GetCameraStateCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; CameraState state = 2; } } message StartCameraCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; } } message StopCameraCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; } } message GetRGBImageCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; FrameData color_frame = 2; } } message GetDepthImageCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; FrameData depth_frame = 2; } } message GetRGBDImagesCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; FrameData color_frame = 2; FrameData depth_frame = 3; } } message StartCameraRecordingCommand { message Request { CommandHeader.Request header = 1; string video_path = 2; } message Feedback { CommandHeader.Feedback header = 1; } } message StopCameraRecordingCommand { message Request { CommandHeader.Request header = 1; } message Feedback { CommandHeader.Feedback header = 1; } } message GetRGBImageStreamCommand { message Request { CommandHeader.Request header = 1; bool eof = 2; } message Feedback { CommandHeader.Feedback header = 1; FrameData color_frame = 2; int32 seq_no = 3; } } message GetDepthImageStreamCommand { message Request { CommandHeader.Request header = 1; bool eof = 2; } message Feedback { CommandHeader.Feedback header = 1; FrameData depth_frame = 2; int32 seq_no = 3; } } message GetRGBDImagesStreamCommand { message Request { CommandHeader.Request header = 1; bool eof = 2; } message Feedback { CommandHeader.Feedback header = 1; FrameData color_frame = 2; FrameData depth_frame = 3; int32 seq_no = 4; } }