| Index: mojo/services/media/common/interfaces/rate_control.mojom
 | 
| diff --git a/mojo/services/media/common/interfaces/rate_control.mojom b/mojo/services/media/common/interfaces/rate_control.mojom
 | 
| deleted file mode 100644
 | 
| index bd7dd92acd8d1e8ccd2f91a10e55724b9fe9e000..0000000000000000000000000000000000000000
 | 
| --- a/mojo/services/media/common/interfaces/rate_control.mojom
 | 
| +++ /dev/null
 | 
| @@ -1,102 +0,0 @@
 | 
| -// 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;
 | 
| -
 | 
| -// TimelineQuad
 | 
| -// TODO(dalesat): Rename reference -> presentation.
 | 
| -// TODO(dalesat): Rename target -> reference.
 | 
| -//
 | 
| -// A structure which holds the four numbers needed to define a linear
 | 
| -// relationship between the points in two different timelines.  The relationship
 | 
| -// is expressed using 4 integers in order to facilitate compositions of multiple
 | 
| -// transformations (A->B can be composed with B->C to produce the transformation
 | 
| -// from A->C), and to minimize rounding and scaling errors when mapping points
 | 
| -// between timelines which do not have an integer scaling relationship between
 | 
| -// each other.
 | 
| -//
 | 
| -// These values are used to define the following functions which map from
 | 
| -// points from the reference timeline to the target timeline, and back again.
 | 
| -//
 | 
| -// Let r be a point in the reference timeline.
 | 
| -// Let t be a point in the target timeline timeline.
 | 
| -// Let ref and tgt be abbreviations for reference and target in equations below.
 | 
| -//
 | 
| -// Given that r and t represent the same instant in time (in a single frame of
 | 
| -// reference)
 | 
| -//
 | 
| -// t = f(r) = (((r - ref_offset) * tgt_delta) / ref_delta) + tgt_offset
 | 
| -// r = F(t) = (((t - tgt_offset) * ref_delta) / tgt_delta) + ref_offset
 | 
| -//
 | 
| -// See also...
 | 
| -// mojo/services/media/common/linear_transform.h
 | 
| -//
 | 
| -// no-format
 | 
| -struct TimelineQuad {
 | 
| -  int64  reference_offset = 0;
 | 
| -  int64  target_offset    = 0;
 | 
| -  uint32 reference_delta  = 0;
 | 
| -  uint32 target_delta     = 1;
 | 
| -};
 | 
| -// end-no-format
 | 
| -
 | 
| -// TimelineTransform
 | 
| -// TODO(dalesat): Rename reference -> presentation.
 | 
| -// TODO(dalesat): Rename target -> reference.
 | 
| -//
 | 
| -// A structure which holds both a timeline quad, and a pair of identifiers which
 | 
| -// define the specific timelines which are the reference and target timelines.
 | 
| -struct TimelineTransform {
 | 
| -  // TODO: These constants should probably defined by a central time management
 | 
| -  // service, not here.
 | 
| -  const uint32 kLocalTimeID = 0xFFFFFFFF;
 | 
| -  const uint32 kContextual = 0xFFFFFFFE;
 | 
| -
 | 
| -  TimelineQuad quad;
 | 
| -  uint32 reference_timeline_id = kContextual;
 | 
| -  uint32 target_timeline_id = kLocalTimeID;
 | 
| -};
 | 
| -
 | 
| -// RateControl
 | 
| -//
 | 
| -// An interface typically exposed by media renderers which allow producers of
 | 
| -// media to specify how the presentation time stamps of the media queued to the
 | 
| -// renderer relate to real time.  Users may initialize the transformation with a
 | 
| -// specific Quad, change the rate immediately in a first order contiguous
 | 
| -// fashion, or schedule ranges in the rate at points in time on either the
 | 
| -// reference or target timelines.
 | 
| -interface RateControl {
 | 
| -  // Get the current quad which describes the transformation between the
 | 
| -  // reference and target timelines.
 | 
| -  GetCurrentTransform() => (TimelineTransform trans);
 | 
| -
 | 
| -  // Immediately, explicitly set the quad which describes the mapping from
 | 
| -  // reference to target timeline.  It is understood that this can cause
 | 
| -  // discontinuities and should only be used in situations which are already
 | 
| -  // fundamentally discontinuous (startup/seeking, for example)
 | 
| -  SetCurrentQuad(TimelineQuad quad);
 | 
| -
 | 
| -  // Configure the target timeline ID.  Note, the reference timeline ID will
 | 
| -  // always be contextual.
 | 
| -  SetTargetTimelineID(uint32 id);
 | 
| -
 | 
| -  // Immediately change the rate of the existing transformation in a fashion
 | 
| -  // which is first order continuous with the current transformation.
 | 
| -  SetRate(uint32 reference_delta, uint32 target_delta);
 | 
| -
 | 
| -  // Schedule a first order continuous rate change at the specified reference
 | 
| -  // time.
 | 
| -  SetRateAtReferenceTime(uint32 reference_delta,
 | 
| -                         uint32 target_delta,
 | 
| -                         int64 reference_time);
 | 
| -
 | 
| -  // Schedule a first order continuous rate change at the specified target time.
 | 
| -  SetRateAtTargetTime(uint32 reference_delta,
 | 
| -                      uint32 target_delta,
 | 
| -                      int64 target_time);
 | 
| -
 | 
| -  // Cancel any pending rate changes
 | 
| -  CancelPendingChanges();
 | 
| -};
 | 
| 
 |