syntax = "proto3"; package cvmmap_streamer.proto; option cc_enable_arenas = true; enum RpcCode { RPC_CODE_OK = 0; RPC_CODE_INVALID_REQUEST = 1; RPC_CODE_UNSUPPORTED = 2; RPC_CODE_BUSY = 3; RPC_CODE_INTERNAL = 4; } message Mp4RecorderState { bool can_record = 1; bool is_recording = 2; bool last_frame_ok = 3; uint32 frames_ingested = 4; uint32 frames_encoded = 5; string active_path = 6; string error_message = 7; } message Mp4StartRequest { string output_path = 1; } message Mp4StartResponse { RpcCode code = 1; string error_message = 2; Mp4RecorderState state = 3; } message Mp4StopRequest {} message Mp4StopResponse { RpcCode code = 1; string error_message = 2; Mp4RecorderState state = 3; } message Mp4StatusRequest {} message Mp4StatusResponse { RpcCode code = 1; string error_message = 2; Mp4RecorderState state = 3; } message McapRecorderState { bool can_record = 1; bool is_recording = 2; bool last_frame_ok = 3; uint32 frames_ingested = 4; uint32 frames_encoded = 5; string active_path = 6; string error_message = 7; } message McapStartRequest { string output_path = 1; optional string compression = 2; optional string topic = 3; optional string depth_topic = 4; optional string body_topic = 5; optional string frame_id = 6; } message McapStartResponse { RpcCode code = 1; string error_message = 2; McapRecorderState state = 3; } message McapStopRequest {} message McapStopResponse { RpcCode code = 1; string error_message = 2; McapRecorderState state = 3; } message McapStatusRequest {} message McapStatusResponse { RpcCode code = 1; string error_message = 2; McapRecorderState state = 3; }