// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Next MinVersion: 1


module chromeos.media_perception.mojom;

[Extensible]
enum PipelineStatus {
  UNKNOWN = 0,

  // The analytics process is running and the media processing pipeline is
  // started, but not yet receiving input. This is a transitional state
  // between SUSPENDED and RUNNING for the time it takes to warm up the
  // processing pipeline, which can take a few seconds.
  STARTED = 1,

  // The process is running and the media processing pipeline is receiving
  // input. At this point, events should be firing.
  RUNNING = 2,

  // The analytics process is running and the media processing pipeline is
  // ready to be started.
  SUSPENDED = 3,

  // Something has gone wrong during execution of the pipeline.
  ERROR = 4,
};

[Extensible]
enum PipelineErrorType {
  UNKNOWN = 0,

  // Configuration of the pipeline did not validate.
  CONFIGURATION = 1,

  // Something has gone wrong during startup. For example, a device doesn't
  // open.
  STARTUP = 2,

  // Something has gone wrong in the pipeline.
  RUNTIME = 3,

  // Problem with media content (such as black frames).
  CONTENT = 4,
};

struct PipelineError {
  PipelineErrorType error_type@0;

  // Indicates the source of an error such as a device or a particular
  // calculator.
  string? error_source@1;

  // Human-readable string with information about what went wrong.
  string? error_string@2;
};

struct PipelineState {
  PipelineStatus status@0;

  // Filled in if the status is ERROR.
  PipelineError? error@1;

  // Associated configuration name with this pipeline.
  string? configuration_name@2;
};

struct GlobalPipelineState {
  array<PipelineState> states@0;
};

interface PipelineEventHandler {
  OnPipelineStateChanged@0(PipelineState state);
};
