| syntax = "proto3"; |
| |
| package huddly; |
| |
| message CropIndexStatusRequest {} |
| |
| message CropIndexStatusResponse { |
| int32 crop_index = 1; |
| } |
| |
| message Rect { |
| float x_center = 1; // (0.125 - 0.875) On max Zoom |
| float y_center = 2; // (0.125 - 0.875) On max Zoom |
| float zoom_factor = 3; // (1 - 4) |
| } |
| |
| message IndexedTransitions { |
| // List of Crops. |
| message Transition { |
| message Crop { |
| Rect rect = 1; |
| int32 crop_index = 2; // (or timestamp) |
| } |
| repeated Crop crops = 1; |
| } |
| |
| repeated int32 starting_index = 1; // (or timestamp) |
| // Transitions are associated with the starting indices above. |
| repeated Transition transition = 2; |
| } |
| |
| message IndexedTransitionsResponse { |
| // Nonnegative crop_index of transition selected by camera to execute, or -1 |
| // in the case of an error, where the camera should stop moving and return |
| // the current crop rect. |
| int32 chosen_starting_index = 1; |
| // In the case that there is some error, the camera should return its current |
| // crop. |
| Rect current_position = 2; |
| } |
| |
| message CurrentPtzCrop { |
| Rect current_crop = 1; |
| } |