Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Side by Side Diff: mojo/services/media/common/interfaces/timelines.mojom

Issue 1952673003: Motown: Rename Ratio and LinearFunction classes (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/services/media/common/cpp/timeline_rate.cc ('k') | services/media/common/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 [DartPackage="mojo_services"]
6 module mojo;
7
8 // TODO(dalesat): Move out of media to somewhere more generic.
9
10 // Represents the relationship between and subject timeline and a reference
11 // timeline.
12 //
13 // To translate a reference timeline value r to the subject timeline, apply
14 // the following formula:
15 //
16 // (r - reference_time) * subject_delta / reference_delta + subject_time
17 //
18 // To translate a subject timeline value s to the reference timeline, apply
19 // this formula provided subject_delta isn't zero:
20 //
21 // (s - subject_time) * reference_delta / subject_delta + reference_time
22 //
23 struct TimelineTransform {
24 // A value from the reference timeline that correlates to timeline_time.
25 int64 reference_time = 0;
26
27 // A value from the subject timeline that correlates to reference_time.
28 int64 subject_time = 0;
29
30 // The change in the reference timeline corresponding to timeline_delta.
31 // Cannnot be zero.
32 uint32 reference_delta = 1;
33
34 // The change in the subject timeline corresponding to reference_delta.
35 uint32 subject_delta = 0;
36 };
37
38 // A push-mode consumer of timeline updates.
39 interface TimelineConsumer {
40 const int64 kUnspecifiedTime = 0x7fffffffffffffff;
41
42 // Sets the timeline transform at the indicated effective time. Exactly one
43 // of the effective_*_time values must be kUnspecifiedTime.
44 // effective_subject_time can only be specified if the current subject_delta
45 // isn’t zero. reference_delta may not be zero. subject_time may be
46 // kUnspecifiedTime to indicate that the new transform subject_time should
47 // be inferred from the effective time. The new transform reference_time is
48 // always inferred from the effective time. The callback is called at the
49 // effective time or when a pending operation is cancelled due to a
50 // subsequent call, in which case the 'completed' value is false.
51 SetTimelineTransform(
52 int64 subject_time,
53 uint32 reference_delta,
54 uint32 subject_delta,
55 int64 effective_reference_time,
56 int64 effective_subject_time) => (bool completed);
57 };
OLDNEW
« no previous file with comments | « mojo/services/media/common/cpp/timeline_rate.cc ('k') | services/media/common/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698