syntax = "proto2";

package mri;

enum PipelineOutputType {
  OUTPUT_TYPE_UNKNOWN = 0;
  OUTPUT_FRAME_PERCEPTION = 1;
  OUTPUT_HOTWORD_DETECTION = 2;
  OUTPUT_PRESENCE_PERCEPTION = 3;
  OUTPUT_OCCUPANCY_TRIGGER = 4;
  OUTPUT_APPEARANCES = 5;
  OUTPUT_SMART_FRAMING = 6;
}

message PipelineOutput {
  optional string stream_name = 1;
  optional PipelineOutputType output_type = 2;
}

enum PerceptionInterfaceType {
  INTERFACE_TYPE_UNKNOWN = 0;
  INTERFACE_FRAME_PERCEPTION = 1;
  INTERFACE_HOTWORD_DETECTION = 2;
  INTERFACE_PRESENCE_PERCEPTION = 3;
  INTERFACE_OCCUPANCY_TRIGGER = 4;
  INTERFACE_APPEARANCES = 5;
  INTERFACE_ONE_TOUCH_AUTOZOOM = 6;
  INTERFACE_SOFTWARE_AUTOZOOM = 7;
}

message PerceptionInterface {
  optional PerceptionInterfaceType interface_type = 1;
  repeated PipelineOutput output = 2;
}

message PerceptionInterfaces {
  repeated PerceptionInterface interface = 1;
}
