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;
}

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

message PerceptionInterfaces {
  repeated PerceptionInterface interface = 1;
}
