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(); |
-}; |