// Copyright 2019 The MediaPipe Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Forked from mediapipe/framework/tool/source.proto.
// The forked proto must remain identical to the original proto and should be
// ONLY used by mediapipe open source project.

syntax = "proto2";

package mediapipe;

import "mediapipe/framework/calculator.proto";

// A proto2 calculator options for testing.
message NightLightCalculatorOptions {
  extend CalculatorOptions {
    optional NightLightCalculatorOptions ext = 190865679;
  }

  // The output frame rate measured in frames per second.
  optional double frame_rate = 1;

  enum OutputHeader {
    NONE = 0;
    PASS_HEADER = 1;
    UPDATE_VIDEO_HEADER = 2;
  }

  // Whether and what kind of header to place on the output stream.
  optional OutputHeader output_header = 2;

  // Adds jitter to resampling if set, so that Google's sampling is not
  optional double jitter = 4;

  // If specified, output timestamps are aligned with base_timestamp.
  repeated int64 base_timestamp = 5;

  // If set, the output timestamps nearest to start_time and end_time
  optional bool round_limits = 8;

  // Format string used by string::Substitute to construct the output.
  optional string format_string = 9;

  message LightBundle {
    optional string room_id = 1;
    repeated NightLightCalculatorOptions room_lights = 2;
  }

  repeated LightBundle bundle = 10;

  // The number of night-lights.
  repeated int32 num_lights = 11;

  // Options for nested night-lights.
  optional NightLightCalculatorOptions sub_options = 12;
}
