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

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;
  INTERFACE_FALCON_AUTOZOOM = 8;
}

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

message PerceptionInterfaces {
  repeated PerceptionInterface interface = 1;
}
