// Copyright 2015 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.

[DartPackage="mojo_services"]
module mojo.media;

// Expresses a component's disposition with respect to being a clock master or
// slave.
enum ClockDisposition {
  // Clocks are irrelevant. Component will produce/consume on demand.
  PASSIVE,

  // Component must slave to a master clock.
  SLAVE,

  // Component can be master or slave, but being slave is preferred.
  PREFER_SLAVE,

  // Component can be master or slave, doesn't care which.
  INDIFFERENT,

  // Component can be master or slave, but master is preferred.
  PREFER_MASTER,

  // Component must be master and cannot slave to a master clock.
  MASTER,
};

interface Clock {
  // TODO(dalesat): Define this.
};
