Skip to content

Commit dd40575

Browse files
Merge pull request #941 from vimeo/timing-object-updates
Timing object updates
2 parents f6d6951 + c29c8c3 commit dd40575

File tree

5 files changed

+30
-60
lines changed

5 files changed

+30
-60
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"rollup-plugin-commonjs": "^10.1.0",
8181
"rollup-plugin-node-resolve": "^5.2.0",
8282
"sinon": "^21.0.0",
83+
"timing-object": "^3.1.92",
8384
"uglify-js": "^3.19.3",
8485
"xhr2": "0.2.1"
8586
},

src/lib/timing-object.types.ts

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/lib/timing-src-connector.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { subscribe } from './functions';
22

33
/** @typedef {import('./timing-src-connector.types').PlayerControls} PlayerControls */
4-
/** @typedef {import('./timing-object.types').TimingObject} TimingObject */
4+
/** @typedef {import('timing-object').ITimingObject} TimingObject */
55
/** @typedef {import('./timing-src-connector.types').TimingSrcConnectorOptions} TimingSrcConnectorOptions */
66
/** @typedef {(msg: string) => any} Logger */
7-
/** @typedef {import('timing-object.types').TConnectionState} TConnectionState */
7+
/** @typedef {import('timing-object').TConnectionState} TConnectionState */
88

99
/**
1010
* @type {TimingSrcConnectorOptions}
@@ -92,9 +92,15 @@ export class TimingSrcConnector extends EventTarget {
9292
* @return {Promise<void>}
9393
*/
9494
async updateTimingObject(timingObject, player) {
95+
const [
96+
position,
97+
isPaused,
98+
playbackRate
99+
] = await Promise.all([player.getCurrentTime(), player.getPaused(), player.getPlaybackRate()]);
100+
95101
timingObject.update({
96-
position: await player.getCurrentTime(),
97-
velocity: await player.getPaused() ? 0 : await player.getPlaybackRate()
102+
position,
103+
velocity: isPaused ? 0 : playbackRate
98104
});
99105
}
100106

src/player.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1325,7 +1325,7 @@ class Player {
13251325
return this.set('volume', volume);
13261326
}
13271327

1328-
/** @typedef {import('./lib/timing-object.types').TimingObject} TimingObject */
1328+
/** @typedef {import('timing-object').ITimingObject} TimingObject */
13291329
/** @typedef {import('./lib/timing-src-connector.types').TimingSrcConnectorOptions} TimingSrcConnectorOptions */
13301330
/** @typedef {import('./lib/timing-src-connector').TimingSrcConnector} TimingSrcConnector */
13311331

yarn.lock

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,6 +1109,11 @@
11091109
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
11101110
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
11111111

1112+
"@babel/runtime@^7.27.6":
1113+
version "7.27.6"
1114+
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
1115+
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
1116+
11121117
"@babel/runtime@^7.8.4":
11131118
version "7.11.2"
11141119
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
@@ -4503,6 +4508,14 @@ time-zone@^1.0.0:
45034508
resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d"
45044509
integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=
45054510

4511+
timing-object@^3.1.92:
4512+
version "3.1.92"
4513+
resolved "https://registry.yarnpkg.com/timing-object/-/timing-object-3.1.92.tgz#47d20294a08ac43c7a41fe3252b5372363e06176"
4514+
integrity sha512-RMQWUOEk27PYRv3Iu4Vsp0Mg49tyaDyzv2NOtvEzSl0KigHYsN/pfvTet6RyDoemVfE8Yx8yP1vxpPYkr5+DEw==
4515+
dependencies:
4516+
"@babel/runtime" "^7.27.6"
4517+
tslib "^2.8.1"
4518+
45064519
tldts-core@^6.1.86:
45074520
version "6.1.86"
45084521
resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8"
@@ -4541,6 +4554,11 @@ tr46@^5.1.0:
45414554
dependencies:
45424555
punycode "^2.3.1"
45434556

4557+
tslib@^2.8.1:
4558+
version "2.8.1"
4559+
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
4560+
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
4561+
45444562
type-check@^0.4.0, type-check@~0.4.0:
45454563
version "0.4.0"
45464564
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"

0 commit comments

Comments
 (0)