timingsrc 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es2019/factories/compute-velocity.d.ts +2 -0
- package/build/es2019/factories/compute-velocity.d.ts.map +1 -0
- package/build/es2019/factories/compute-velocity.js +2 -0
- package/build/es2019/factories/compute-velocity.js.map +1 -0
- package/build/es2019/factories/default-set-timingsrc.d.ts +9 -2
- package/build/es2019/factories/default-set-timingsrc.d.ts.map +1 -1
- package/build/es2019/factories/default-set-timingsrc.js +6 -3
- package/build/es2019/factories/default-set-timingsrc.js.map +1 -1
- package/build/es2019/factories/set-current-time.d.ts +1 -2
- package/build/es2019/factories/set-current-time.d.ts.map +1 -1
- package/build/es2019/factories/set-current-time.js.map +1 -1
- package/build/es2019/factories/set-playback-rate.d.ts +1 -2
- package/build/es2019/factories/set-playback-rate.d.ts.map +1 -1
- package/build/es2019/factories/set-playback-rate.js.map +1 -1
- package/build/es2019/factories/set-timingsrc-with-custom-update-function.d.ts +6 -2
- package/build/es2019/factories/set-timingsrc-with-custom-update-function.d.ts.map +1 -1
- package/build/es2019/factories/set-timingsrc-with-custom-update-function.js +30 -10
- package/build/es2019/factories/set-timingsrc-with-custom-update-function.js.map +1 -1
- package/build/es2019/factories/set-timingsrc.d.ts +5 -2
- package/build/es2019/factories/set-timingsrc.d.ts.map +1 -1
- package/build/es2019/factories/set-timingsrc.js +1 -3
- package/build/es2019/factories/set-timingsrc.js.map +1 -1
- package/build/es2019/factories/update-gradually.d.ts +7 -2
- package/build/es2019/factories/update-gradually.d.ts.map +1 -1
- package/build/es2019/factories/update-gradually.js +18 -7
- package/build/es2019/factories/update-gradually.js.map +1 -1
- package/build/es2019/factories/update-media-element.d.ts +5 -2
- package/build/es2019/factories/update-media-element.d.ts.map +1 -1
- package/build/es2019/factories/update-media-element.js.map +1 -1
- package/build/es2019/factories/update-stepwise-factory.d.ts +12 -2
- package/build/es2019/factories/update-stepwise-factory.d.ts.map +1 -1
- package/build/es2019/factories/update-stepwise-factory.js +98 -25
- package/build/es2019/factories/update-stepwise-factory.js.map +1 -1
- package/build/es2019/factories/window.d.ts +1 -2
- package/build/es2019/factories/window.d.ts.map +1 -1
- package/build/es2019/factories/window.js.map +1 -1
- package/build/es2019/functions/determine-supported-playback-rate-values.d.ts +2 -1
- package/build/es2019/functions/determine-supported-playback-rate-values.d.ts.map +1 -1
- package/build/es2019/functions/determine-supported-playback-rate-values.js.map +1 -1
- package/build/es2019/functions/update-vector-with-new-position.d.ts +6 -0
- package/build/es2019/functions/update-vector-with-new-position.d.ts.map +1 -0
- package/build/es2019/functions/update-vector-with-new-position.js +5 -0
- package/build/es2019/functions/update-vector-with-new-position.js.map +1 -0
- package/build/es2019/module.d.ts +11 -3
- package/build/es2019/module.d.ts.map +1 -1
- package/build/es2019/module.js +3 -1
- package/build/es2019/module.js.map +1 -1
- package/build/es2019/types/index.d.ts +1 -17
- package/build/es2019/types/index.d.ts.map +1 -1
- package/build/es2019/types/index.js +1 -17
- package/build/es2019/types/index.js.map +1 -1
- package/build/es2019/types/update-function.d.ts +1 -1
- package/build/es2019/types/update-function.d.ts.map +1 -1
- package/build/es2019/types/update-vector-with-custom-state.d.ts +3 -0
- package/build/es2019/types/update-vector-with-custom-state.d.ts.map +1 -0
- package/build/es2019/types/update-vector-with-custom-state.js +2 -0
- package/build/es2019/types/update-vector-with-custom-state.js.map +1 -0
- package/build/es5/bundle.js +202 -72
- package/package.json +8 -8
- package/src/factories/compute-velocity.ts +2 -0
- package/src/factories/default-set-timingsrc.ts +30 -19
- package/src/factories/set-current-time.ts +2 -4
- package/src/factories/set-playback-rate.ts +2 -4
- package/src/factories/set-timingsrc-with-custom-update-function.ts +59 -16
- package/src/factories/set-timingsrc.ts +14 -4
- package/src/factories/update-gradually.ts +37 -8
- package/src/factories/update-media-element.ts +18 -3
- package/src/factories/update-stepwise-factory.ts +133 -38
- package/src/factories/window.ts +1 -3
- package/src/functions/determine-supported-playback-rate-values.ts +3 -1
- package/src/functions/update-vector-with-new-position.ts +9 -0
- package/src/module.ts +4 -0
- package/src/types/index.ts +1 -17
- package/src/types/update-function.ts +5 -1
- package/src/types/update-vector-with-custom-state.ts +5 -0
- package/build/es2019/types/default-timingsrc-factory.d.ts +0 -8
- package/build/es2019/types/default-timingsrc-factory.d.ts.map +0 -1
- package/build/es2019/types/default-timingsrc-factory.js +0 -2
- package/build/es2019/types/default-timingsrc-factory.js.map +0 -1
- package/build/es2019/types/determine-supported-playback-rate-values-function.d.ts +0 -2
- package/build/es2019/types/determine-supported-playback-rate-values-function.d.ts.map +0 -1
- package/build/es2019/types/determine-supported-playback-rate-values-function.js +0 -2
- package/build/es2019/types/determine-supported-playback-rate-values-function.js.map +0 -1
- package/build/es2019/types/pause-function.d.ts +0 -2
- package/build/es2019/types/pause-function.d.ts.map +0 -1
- package/build/es2019/types/pause-function.js +0 -2
- package/build/es2019/types/pause-function.js.map +0 -1
- package/build/es2019/types/play-function.d.ts +0 -2
- package/build/es2019/types/play-function.d.ts.map +0 -1
- package/build/es2019/types/play-function.js +0 -2
- package/build/es2019/types/play-function.js.map +0 -1
- package/build/es2019/types/set-current-time-factory.d.ts +0 -3
- package/build/es2019/types/set-current-time-factory.d.ts.map +0 -1
- package/build/es2019/types/set-current-time-factory.js +0 -2
- package/build/es2019/types/set-current-time-factory.js.map +0 -1
- package/build/es2019/types/set-current-time-function.d.ts +0 -2
- package/build/es2019/types/set-current-time-function.d.ts.map +0 -1
- package/build/es2019/types/set-current-time-function.js +0 -2
- package/build/es2019/types/set-current-time-function.js.map +0 -1
- package/build/es2019/types/set-playback-rate-factory.d.ts +0 -3
- package/build/es2019/types/set-playback-rate-factory.d.ts.map +0 -1
- package/build/es2019/types/set-playback-rate-factory.js +0 -2
- package/build/es2019/types/set-playback-rate-factory.js.map +0 -1
- package/build/es2019/types/set-playback-rate-function.d.ts +0 -2
- package/build/es2019/types/set-playback-rate-function.d.ts.map +0 -1
- package/build/es2019/types/set-playback-rate-function.js +0 -2
- package/build/es2019/types/set-playback-rate-function.js.map +0 -1
- package/build/es2019/types/set-timingsrc-factory.d.ts +0 -5
- package/build/es2019/types/set-timingsrc-factory.d.ts.map +0 -1
- package/build/es2019/types/set-timingsrc-factory.js +0 -2
- package/build/es2019/types/set-timingsrc-factory.js.map +0 -1
- package/build/es2019/types/set-timingsrc-function.d.ts +0 -4
- package/build/es2019/types/set-timingsrc-function.d.ts.map +0 -1
- package/build/es2019/types/set-timingsrc-function.js +0 -2
- package/build/es2019/types/set-timingsrc-function.js.map +0 -1
- package/build/es2019/types/set-timingsrc-with-custom-update-function-factory.d.ts +0 -5
- package/build/es2019/types/set-timingsrc-with-custom-update-function-factory.d.ts.map +0 -1
- package/build/es2019/types/set-timingsrc-with-custom-update-function-factory.js +0 -2
- package/build/es2019/types/set-timingsrc-with-custom-update-function-factory.js.map +0 -1
- package/build/es2019/types/set-timingsrc-with-custom-update-function-function.d.ts +0 -5
- package/build/es2019/types/set-timingsrc-with-custom-update-function-function.d.ts.map +0 -1
- package/build/es2019/types/set-timingsrc-with-custom-update-function-function.js +0 -2
- package/build/es2019/types/set-timingsrc-with-custom-update-function-function.js.map +0 -1
- package/build/es2019/types/update-gradually-factory.d.ts +0 -4
- package/build/es2019/types/update-gradually-factory.d.ts.map +0 -1
- package/build/es2019/types/update-gradually-factory.js +0 -2
- package/build/es2019/types/update-gradually-factory.js.map +0 -1
- package/build/es2019/types/update-media-element-factory.d.ts +0 -7
- package/build/es2019/types/update-media-element-factory.d.ts.map +0 -1
- package/build/es2019/types/update-media-element-factory.js +0 -2
- package/build/es2019/types/update-media-element-factory.js.map +0 -1
- package/build/es2019/types/update-media-element-function.d.ts +0 -2
- package/build/es2019/types/update-media-element-function.d.ts.map +0 -1
- package/build/es2019/types/update-media-element-function.js +0 -2
- package/build/es2019/types/update-media-element-function.js.map +0 -1
- package/build/es2019/types/update-stepwise-factory-factory.d.ts +0 -4
- package/build/es2019/types/update-stepwise-factory-factory.d.ts.map +0 -1
- package/build/es2019/types/update-stepwise-factory-factory.js +0 -2
- package/build/es2019/types/update-stepwise-factory-factory.js.map +0 -1
- package/build/es2019/types/update-stepwise-factory.d.ts +0 -3
- package/build/es2019/types/update-stepwise-factory.d.ts.map +0 -1
- package/build/es2019/types/update-stepwise-factory.js +0 -2
- package/build/es2019/types/update-stepwise-factory.js.map +0 -1
- package/build/es2019/types/window-factory.d.ts +0 -2
- package/build/es2019/types/window-factory.d.ts.map +0 -1
- package/build/es2019/types/window-factory.js +0 -2
- package/build/es2019/types/window-factory.js.map +0 -1
- package/src/types/default-timingsrc-factory.ts +0 -15
- package/src/types/determine-supported-playback-rate-values-function.ts +0 -1
- package/src/types/pause-function.ts +0 -1
- package/src/types/play-function.ts +0 -1
- package/src/types/set-current-time-factory.ts +0 -3
- package/src/types/set-current-time-function.ts +0 -1
- package/src/types/set-playback-rate-factory.ts +0 -3
- package/src/types/set-playback-rate-function.ts +0 -1
- package/src/types/set-timingsrc-factory.ts +0 -8
- package/src/types/set-timingsrc-function.ts +0 -8
- package/src/types/set-timingsrc-with-custom-update-function-factory.ts +0 -10
- package/src/types/set-timingsrc-with-custom-update-function-function.ts +0 -10
- package/src/types/update-gradually-factory.ts +0 -9
- package/src/types/update-media-element-factory.ts +0 -12
- package/src/types/update-media-element-function.ts +0 -8
- package/src/types/update-stepwise-factory-factory.ts +0 -4
- package/src/types/update-stepwise-factory.ts +0 -3
- package/src/types/window-factory.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-velocity.d.ts","sourceRoot":"","sources":["../../../src/factories/compute-velocity.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,iBAAkB,MAAM,aAAa,MAAM,YAAY,MAAM,YAAY,MAAM,YAAY,MAAM,WACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-velocity.js","sourceRoot":"","sources":["../../../src/factories/compute-velocity.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC,CAAC,KAAa,EAAE,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE,CACnI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { determineSupportedPlaybackRateValues as determineSupportedPlaybackRateValuesFunction } from '../functions/determine-supported-playback-rate-values';
|
|
2
|
+
import type { updateVectorWithNewPosition as updateVectorWithNewPositionFunction } from '../functions/update-vector-with-new-position';
|
|
3
|
+
import type { createComputeVelocity as createComputeVelocityFunction } from './compute-velocity';
|
|
4
|
+
import type { createSetTimingsrc as createSetTimingsrcFunction } from './set-timingsrc';
|
|
5
|
+
import type { createSetTimingsrcWithCustomUpdateFunction } from './set-timingsrc-with-custom-update-function';
|
|
6
|
+
import type { createUpdateGradually as createUpdateGraduallyFunction } from './update-gradually';
|
|
7
|
+
import type { createUpdateStepwiseFactory } from './update-stepwise-factory';
|
|
8
|
+
import type { createWindow } from './window';
|
|
9
|
+
export declare const createDefaultSetTimingsrc: (createComputeVelocity: typeof createComputeVelocityFunction, createSetTimingsrc: typeof createSetTimingsrcFunction, createUpdateGradually: typeof createUpdateGraduallyFunction, createUpdateStepwise: ReturnType<typeof createUpdateStepwiseFactory>, determineSupportedPlaybackRateValues: typeof determineSupportedPlaybackRateValuesFunction, setTimingsrcWithCustomUpdateFunction: ReturnType<typeof createSetTimingsrcWithCustomUpdateFunction>, updateVectorWithNewPosition: typeof updateVectorWithNewPositionFunction, window: ReturnType<typeof createWindow>) => (mediaElement: HTMLMediaElement, timingObject: import("timing-object").ITimingObject, prepareTimingStateVector?: import("../types").TPrepareTimingStateVectorFunction | null) => () => void;
|
|
3
10
|
//# sourceMappingURL=default-set-timingsrc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-set-timingsrc.d.ts","sourceRoot":"","sources":["../../../src/factories/default-set-timingsrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"default-set-timingsrc.d.ts","sourceRoot":"","sources":["../../../src/factories/default-set-timingsrc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oCAAoC,IAAI,4CAA4C,EAAE,MAAM,uDAAuD,CAAC;AAClK,OAAO,KAAK,EAAE,2BAA2B,IAAI,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AAEvI,OAAO,KAAK,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,6CAA6C,CAAC;AAC9G,OAAO,KAAK,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM7C,eAAO,MAAM,yBAAyB,0BACX,oCAAoC,sBACvC,iCAAiC,yBAC9B,oCAAoC,wBACrC,WAAW,kCAAkC,CAAC,wCAC9B,mDAAmD,wCACnD,WAAW,iDAAiD,CAAC,+BACtE,0CAA0C,UAC/D,WAAW,mBAAmB,CAAC,gMAc1C,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
const DEFAULT_THRESHOLD = 1;
|
|
2
2
|
const DEFAULT_TIME_CONSTANT = 0.5;
|
|
3
3
|
const DEFAULT_TOLERANCE = 0.025;
|
|
4
|
-
export const createDefaultSetTimingsrc = (createSetTimingsrc, createUpdateGradually, createUpdateStepwise, determineSupportedPlaybackRateValues, setTimingsrcWithCustomUpdateFunction, window) =>
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export const createDefaultSetTimingsrc = (createComputeVelocity, createSetTimingsrc, createUpdateGradually, createUpdateStepwise, determineSupportedPlaybackRateValues, setTimingsrcWithCustomUpdateFunction, updateVectorWithNewPosition, window) => {
|
|
5
|
+
const update = window !== null && window.navigator.userAgent.includes('Safari') && !window.navigator.userAgent.includes('Chrome')
|
|
6
|
+
? createUpdateStepwise(DEFAULT_TOLERANCE)
|
|
7
|
+
: createUpdateGradually(createComputeVelocity(DEFAULT_TIME_CONSTANT), determineSupportedPlaybackRateValues(window), DEFAULT_THRESHOLD, DEFAULT_TOLERANCE, updateVectorWithNewPosition);
|
|
8
|
+
return createSetTimingsrc(setTimingsrcWithCustomUpdateFunction, update);
|
|
9
|
+
};
|
|
7
10
|
//# sourceMappingURL=default-set-timingsrc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-set-timingsrc.js","sourceRoot":"","sources":["../../../src/factories/default-set-timingsrc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-set-timingsrc.js","sourceRoot":"","sources":["../../../src/factories/default-set-timingsrc.ts"],"names":[],"mappings":"AAUA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,qBAA2D,EAC3D,kBAAqD,EACrD,qBAA2D,EAC3D,oBAAoE,EACpE,oCAAyF,EACzF,oCAAmG,EACnG,2BAAuE,EACvE,MAAuC,EACzC,EAAE;IACA,MAAM,MAAM,GACR,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9G,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;QACzC,CAAC,CAAC,qBAAqB,CACjB,qBAAqB,CAAC,qBAAqB,CAAC,EAC5C,oCAAoC,CAAC,MAAM,CAAC,EAC5C,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,CAC9B,CAAC;IAEZ,OAAO,kBAAkB,CAAC,oCAAoC,EAAgE,MAAM,CAAC,CAAC;AAC1I,CAAC,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const createSetCurrentTime: TSetCurrentTimeFactory;
|
|
1
|
+
export declare const createSetCurrentTime: (currentTimeAssignments: WeakMap<HTMLMediaElement, [number, number]>) => (mediaElement: HTMLMediaElement, previousValue: number, nextValue: number) => void;
|
|
3
2
|
//# sourceMappingURL=set-current-time.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-current-time.d.ts","sourceRoot":"","sources":["../../../src/factories/set-current-time.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"set-current-time.d.ts","sourceRoot":"","sources":["../../../src/factories/set-current-time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,2BAA4B,QAAQ,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,oBAC9E,gBAAgB,iBAAiB,MAAM,aAAa,MAAM,SAcnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-current-time.js","sourceRoot":"","sources":["../../../src/factories/set-current-time.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-current-time.js","sourceRoot":"","sources":["../../../src/factories/set-current-time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,sBAAmE,EAAE,EAAE;IACxG,OAAO,CAAC,YAA8B,EAAE,aAAqB,EAAE,SAAiB,EAAE,EAAE;QAChF,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEvE,IACI,qBAAqB,KAAK,SAAS;YACnC,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,MAAM;YAC3D,qBAAqB,CAAC,CAAC,CAAC,KAAK,SAAS,EACxC;YACE,YAAY,CAAC,WAAW,GAAG,SAAS,CAAC;YAErC,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;SACnF;IACL,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const createSetPlaybackRate: TSetPlaybackRateFactory;
|
|
1
|
+
export declare const createSetPlaybackRate: (playbackRateAssignments: WeakMap<HTMLMediaElement, [number, number]>) => (mediaElement: HTMLMediaElement, previousValue: number, nextValue: number) => void;
|
|
3
2
|
//# sourceMappingURL=set-playback-rate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-playback-rate.d.ts","sourceRoot":"","sources":["../../../src/factories/set-playback-rate.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"set-playback-rate.d.ts","sourceRoot":"","sources":["../../../src/factories/set-playback-rate.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,4BAA6B,QAAQ,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,oBAChF,gBAAgB,iBAAiB,MAAM,aAAa,MAAM,SAcnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-playback-rate.js","sourceRoot":"","sources":["../../../src/factories/set-playback-rate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-playback-rate.js","sourceRoot":"","sources":["../../../src/factories/set-playback-rate.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,uBAAoE,EAAE,EAAE;IAC1G,OAAO,CAAC,YAA8B,EAAE,aAAqB,EAAE,SAAiB,EAAE,EAAE;QAChF,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzE,IACI,sBAAsB,KAAK,SAAS;YACpC,sBAAsB,CAAC,CAAC,CAAC,KAAK,aAAa;YAC3C,sBAAsB,CAAC,CAAC,CAAC,KAAK,SAAS,EACzC;YACE,gHAAgH;YAChH,YAAY,CAAC,YAAY,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAElG,uBAAuB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACrF;IACL,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { TAnimationFrameFunction, TOnFunction } from 'subscribable-things';
|
|
2
|
+
import type { ITimingObject } from 'timing-object';
|
|
3
|
+
import { IUpdateVector } from '../interfaces';
|
|
4
|
+
import { TPrepareTimingStateVectorFunction, TUpdateFunction } from '../types';
|
|
5
|
+
import type { createUpdateMediaElement } from './update-media-element';
|
|
6
|
+
export declare const createSetTimingsrcWithCustomUpdateFunction: (animationFrame: TAnimationFrameFunction, document: Document, on: TOnFunction, updateMediaElement: ReturnType<typeof createUpdateMediaElement>) => <UpdateVectorWithCustomState extends IUpdateVector>(mediaElement: HTMLMediaElement, timingObject: ITimingObject, updateFunction: TUpdateFunction<UpdateVectorWithCustomState>, prepareTimingStateVector?: null | TPrepareTimingStateVectorFunction) => () => void;
|
|
3
7
|
//# sourceMappingURL=set-timingsrc-with-custom-update-function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-timingsrc-with-custom-update-function.d.ts","sourceRoot":"","sources":["../../../src/factories/set-timingsrc-with-custom-update-function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"set-timingsrc-with-custom-update-function.d.ts","sourceRoot":"","sources":["../../../src/factories/set-timingsrc-with-custom-update-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,eAAO,MAAM,0CAA0C,mBACnC,uBAAuB,YAC7B,QAAQ,MACd,WAAW,sBACK,WAAW,+BAA+B,CAAC,uEAG7C,gBAAgB,gBAChB,aAAa,2FAED,IAAI,GAAG,iCAAiC,eA8DzE,CAAC"}
|
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
export const createSetTimingsrcWithCustomUpdateFunction = (animationFrame, document, on, updateMediaElement) => {
|
|
2
2
|
return (mediaElement, timingObject, updateFunction, prepareTimingStateVector = null) => {
|
|
3
|
+
let previousUpdateVectorWithCustomState = null;
|
|
3
4
|
const update = () => {
|
|
4
5
|
const { currentTime, duration, playbackRate } = mediaElement;
|
|
5
6
|
const timingStateVector = timingObject.query();
|
|
6
|
-
|
|
7
|
+
previousUpdateVectorWithCustomState = updateFunction(prepareTimingStateVector === null ? timingStateVector : prepareTimingStateVector(timingStateVector), currentTime, previousUpdateVectorWithCustomState);
|
|
7
8
|
const sanitizedDuration = typeof duration === 'number' && !isNaN(duration) ? duration : 0;
|
|
9
|
+
const { position, velocity } = previousUpdateVectorWithCustomState;
|
|
8
10
|
updateMediaElement(currentTime, sanitizedDuration, mediaElement, playbackRate, position, velocity);
|
|
11
|
+
return velocity !== 0;
|
|
9
12
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
let unsubscribe;
|
|
14
|
+
const updateOnce = () => {
|
|
15
|
+
if (!update()) {
|
|
16
|
+
unsubscribe();
|
|
17
|
+
unsubscribe = updateReactively();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const updateConsistently = () => {
|
|
21
|
+
const unsubscribeFunctions = [
|
|
22
|
+
animationFrame()(() => updateOnce()),
|
|
23
|
+
on(timingObject, 'change')(() => {
|
|
24
|
+
if (document.visibilityState === 'hidden') {
|
|
25
|
+
updateOnce();
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
];
|
|
29
|
+
return () => unsubscribeFunctions.forEach((unsubscribeFunction) => unsubscribeFunction());
|
|
30
|
+
};
|
|
31
|
+
const updateReactively = () => on(timingObject, 'change')(() => {
|
|
32
|
+
if (update()) {
|
|
33
|
+
unsubscribe();
|
|
34
|
+
unsubscribe = updateConsistently();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
unsubscribe = update() ? updateConsistently() : updateReactively();
|
|
38
|
+
return () => unsubscribe();
|
|
19
39
|
};
|
|
20
40
|
};
|
|
21
41
|
//# sourceMappingURL=set-timingsrc-with-custom-update-function.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-timingsrc-with-custom-update-function.js","sourceRoot":"","sources":["../../../src/factories/set-timingsrc-with-custom-update-function.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-timingsrc-with-custom-update-function.js","sourceRoot":"","sources":["../../../src/factories/set-timingsrc-with-custom-update-function.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACtD,cAAuC,EACvC,QAAkB,EAClB,EAAe,EACf,kBAA+D,EACjE,EAAE;IACA,OAAO,CACH,YAA8B,EAC9B,YAA2B,EAC3B,cAA4D,EAC5D,2BAAqE,IAAI,EAC3E,EAAE;QACA,IAAI,mCAAmC,GAAuC,IAAI,CAAC;QAEnF,MAAM,MAAM,GAAG,GAAG,EAAE;YAChB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;YAC7D,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YAE/C,mCAAmC,GAAG,cAAc,CAChD,wBAAwB,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,EACnG,WAAW,EACX,mCAAmC,CACtC,CAAC;YAEF,MAAM,iBAAiB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,mCAAmC,CAAC;YAEnE,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEnG,OAAO,QAAQ,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,IAAI,WAAuB,CAAC;QAE5B,MAAM,UAAU,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,EAAE,EAAE;gBACX,WAAW,EAAE,CAAC;gBAEd,WAAW,GAAG,gBAAgB,EAAE,CAAC;aACpC;QACL,CAAC,CAAC;QACF,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC5B,MAAM,oBAAoB,GAAG;gBACzB,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;gBACpC,EAAE,CACE,YAAY,EACZ,QAAQ,CACX,CAAC,GAAG,EAAE;oBACH,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE;wBACvC,UAAU,EAAE,CAAC;qBAChB;gBACL,CAAC,CAAC;aACL,CAAC;YAEF,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC1B,EAAE,CACE,YAAY,EACZ,QAAQ,CACX,CAAC,GAAG,EAAE;YACH,IAAI,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,CAAC;gBAEd,WAAW,GAAG,kBAAkB,EAAE,CAAC;aACtC;QACL,CAAC,CAAC,CAAC;QAEP,WAAW,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAEnE,OAAO,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { ITimingObject } from 'timing-object';
|
|
2
|
+
import type { createSetTimingsrcWithCustomUpdateFunction } from '../factories/set-timingsrc-with-custom-update-function';
|
|
3
|
+
import { IUpdateVector } from '../interfaces';
|
|
4
|
+
import { TPrepareTimingStateVectorFunction, TUpdateFunction } from '../types';
|
|
5
|
+
export declare const createSetTimingsrc: <UpdateVectorWithCustomState extends IUpdateVector>(setTimingsrcWithCustomUpdateFunction: ReturnType<typeof createSetTimingsrcWithCustomUpdateFunction>, update: TUpdateFunction<UpdateVectorWithCustomState>) => (mediaElement: HTMLMediaElement, timingObject: ITimingObject, prepareTimingStateVector?: null | TPrepareTimingStateVectorFunction) => () => void;
|
|
3
6
|
//# sourceMappingURL=set-timingsrc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-timingsrc.d.ts","sourceRoot":"","sources":["../../../src/factories/set-timingsrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"set-timingsrc.d.ts","sourceRoot":"","sources":["../../../src/factories/set-timingsrc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,kBAAkB,4FAEe,WAAW,iDAAiD,CAAC,0EAIrF,gBAAgB,gBAChB,aAAa,6BACD,IAAI,GAAG,iCAAiC,eAEgC,CAAC"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export const createSetTimingsrc = (setTimingsrcWithCustomUpdateFunction, update) =>
|
|
2
|
-
return (mediaElement, timingObject, prepareTimingStateVector = null) => setTimingsrcWithCustomUpdateFunction(mediaElement, timingObject, update, prepareTimingStateVector);
|
|
3
|
-
};
|
|
1
|
+
export const createSetTimingsrc = (setTimingsrcWithCustomUpdateFunction, update) => (mediaElement, timingObject, prepareTimingStateVector = null) => setTimingsrcWithCustomUpdateFunction(mediaElement, timingObject, update, prepareTimingStateVector);
|
|
4
2
|
//# sourceMappingURL=set-timingsrc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-timingsrc.js","sourceRoot":"","sources":["../../../src/factories/set-timingsrc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-timingsrc.js","sourceRoot":"","sources":["../../../src/factories/set-timingsrc.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,kBAAkB,GAC3B,CACI,oCAAmG,EACnG,MAAoD,EACtD,EAAE,CACJ,CACI,YAA8B,EAC9B,YAA2B,EAC3B,2BAAqE,IAAI,EAC3E,EAAE,CACA,oCAAoC,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { updateVectorWithNewPosition as updateVectorWithNewPositionFunction } from '../functions/update-vector-with-new-position';
|
|
2
|
+
import { IUpdateVector } from '../interfaces';
|
|
3
|
+
import { TUpdateFunction } from '../types';
|
|
4
|
+
import type { createComputeVelocity } from './compute-velocity';
|
|
5
|
+
export declare const createUpdateGradually: (computeVelocity: ReturnType<typeof createComputeVelocity>, [minValue, maxValue]: readonly [number, number], threshold: number, tolerance: number, updateVectorWithNewPosition: typeof updateVectorWithNewPositionFunction) => TUpdateFunction<IUpdateVector & {
|
|
6
|
+
mediaElementDelay: number;
|
|
7
|
+
}>;
|
|
3
8
|
//# sourceMappingURL=update-gradually.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-gradually.d.ts","sourceRoot":"","sources":["../../../src/factories/update-gradually.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-gradually.d.ts","sourceRoot":"","sources":["../../../src/factories/update-gradually.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,IAAI,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACvI,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,eAAO,MAAM,qBAAqB,oBACb,WAAW,4BAA4B,CAAC,8DAE9C,MAAM,aACN,MAAM,+BACY,0CAA0C,KACxE,gBAAgB,aAAa,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA6C/D,CAAC"}
|
|
@@ -1,23 +1,34 @@
|
|
|
1
|
-
export const createUpdateGradually = ([minValue, maxValue],
|
|
2
|
-
return ({ position, velocity }, currentTime) => {
|
|
1
|
+
export const createUpdateGradually = (computeVelocity, [minValue, maxValue], threshold, tolerance, updateVectorWithNewPosition) => {
|
|
2
|
+
return ({ position, velocity }, currentTime, previousUpdateVectorWithCustomState) => {
|
|
3
|
+
let { mediaElementDelay } = previousUpdateVectorWithCustomState !== null && previousUpdateVectorWithCustomState !== void 0 ? previousUpdateVectorWithCustomState : { mediaElementDelay: 0 };
|
|
3
4
|
if (velocity < minValue || velocity > maxValue) {
|
|
4
|
-
return { position, velocity: 0 };
|
|
5
|
+
return { mediaElementDelay, position, velocity: 0 };
|
|
5
6
|
}
|
|
6
7
|
if (position < 0 || velocity === 0) {
|
|
7
|
-
return { position, velocity };
|
|
8
|
+
return { mediaElementDelay, position, velocity };
|
|
8
9
|
}
|
|
9
10
|
const positionDifference = currentTime - position;
|
|
10
11
|
const absolutePositionDifference = Math.abs(positionDifference);
|
|
11
12
|
if (absolutePositionDifference > threshold) {
|
|
12
|
-
|
|
13
|
+
const { position: lastPosition } = previousUpdateVectorWithCustomState !== null && previousUpdateVectorWithCustomState !== void 0 ? previousUpdateVectorWithCustomState : { position: null };
|
|
14
|
+
if (positionDifference < 0 || positionDifference > mediaElementDelay) {
|
|
15
|
+
if (lastPosition === currentTime) {
|
|
16
|
+
mediaElementDelay += absolutePositionDifference;
|
|
17
|
+
}
|
|
18
|
+
return updateVectorWithNewPosition(mediaElementDelay, position, (nextPosition) => computeVelocity(nextPosition - position, minValue, maxValue, velocity));
|
|
19
|
+
}
|
|
20
|
+
if (lastPosition !== currentTime) {
|
|
21
|
+
return updateVectorWithNewPosition(mediaElementDelay - absolutePositionDifference, position, (nextPosition) => computeVelocity(nextPosition - position, minValue, maxValue, velocity));
|
|
22
|
+
}
|
|
13
23
|
}
|
|
14
24
|
if (absolutePositionDifference > tolerance) {
|
|
15
25
|
return {
|
|
26
|
+
mediaElementDelay,
|
|
16
27
|
position: currentTime,
|
|
17
|
-
velocity:
|
|
28
|
+
velocity: computeVelocity(positionDifference, minValue, maxValue, velocity)
|
|
18
29
|
};
|
|
19
30
|
}
|
|
20
|
-
return { position: currentTime, velocity };
|
|
31
|
+
return { mediaElementDelay, position: currentTime, velocity };
|
|
21
32
|
};
|
|
22
33
|
};
|
|
23
34
|
//# sourceMappingURL=update-gradually.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-gradually.js","sourceRoot":"","sources":["../../../src/factories/update-gradually.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-gradually.js","sourceRoot":"","sources":["../../../src/factories/update-gradually.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,eAAyD,EACzD,CAAC,QAAQ,EAAE,QAAQ,CAA0D,EAC7E,SAAiB,EACjB,SAAiB,EACjB,2BAAuE,EACT,EAAE;IAChE,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,mCAAmC,EAAE,EAAE;QAChF,IAAI,EAAE,iBAAiB,EAAE,GAAG,mCAAmC,aAAnC,mCAAmC,cAAnC,mCAAmC,GAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAE5F,IAAI,QAAQ,GAAG,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE;YAC5C,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;SACvD;QAED,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;YAChC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;SACpD;QAED,MAAM,kBAAkB,GAAG,WAAW,GAAG,QAAQ,CAAC;QAClD,MAAM,0BAA0B,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEhE,IAAI,0BAA0B,GAAG,SAAS,EAAE;YACxC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,mCAAmC,aAAnC,mCAAmC,cAAnC,mCAAmC,GAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAE7F,IAAI,kBAAkB,GAAG,CAAC,IAAI,kBAAkB,GAAG,iBAAiB,EAAE;gBAClE,IAAI,YAAY,KAAK,WAAW,EAAE;oBAC9B,iBAAiB,IAAI,0BAA0B,CAAC;iBACnD;gBAED,OAAO,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAC7E,eAAe,CAAC,YAAY,GAAG,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACzE,CAAC;aACL;YAED,IAAI,YAAY,KAAK,WAAW,EAAE;gBAC9B,OAAO,2BAA2B,CAAC,iBAAiB,GAAG,0BAA0B,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE,CAC1G,eAAe,CAAC,YAAY,GAAG,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACzE,CAAC;aACL;SACJ;QAED,IAAI,0BAA0B,GAAG,SAAS,EAAE;YACxC,OAAO;gBACH,iBAAiB;gBACjB,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EAAE,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;aAC9E,CAAC;SACL;QAED,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAClE,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { pause as pauseFunction } from '../functions/pause';
|
|
2
|
+
import type { play as playFunction } from '../functions/play';
|
|
3
|
+
import type { createSetCurrentTime } from './set-current-time';
|
|
4
|
+
import type { createSetPlaybackRate } from './set-playback-rate';
|
|
5
|
+
export declare const createUpdateMediaElement: (pause: typeof pauseFunction, play: typeof playFunction, setCurrentTime: ReturnType<typeof createSetCurrentTime>, setPlaybackRate: ReturnType<typeof createSetPlaybackRate>) => (currentTime: number, duration: number, mediaElement: HTMLMediaElement, playbackRate: number, position: number, velocity: number) => void;
|
|
3
6
|
//# sourceMappingURL=update-media-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-media-element.d.ts","sourceRoot":"","sources":["../../../src/factories/update-media-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update-media-element.d.ts","sourceRoot":"","sources":["../../../src/factories/update-media-element.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,wBAAwB,UAC1B,oBAAoB,QACrB,mBAAmB,kBACT,WAAW,2BAA2B,CAAC,mBACtC,WAAW,4BAA4B,CAAC,mBAGxC,MAAM,YACT,MAAM,gBACF,gBAAgB,gBAChB,MAAM,YACV,MAAM,YACN,MAAM,SAmCvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-media-element.js","sourceRoot":"","sources":["../../../src/factories/update-media-element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-media-element.js","sourceRoot":"","sources":["../../../src/factories/update-media-element.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,KAA2B,EAC3B,IAAyB,EACzB,cAAuD,EACvD,eAAyD,EAC3D,EAAE;IACA,OAAO,CACH,WAAmB,EACnB,QAAgB,EAChB,YAA8B,EAC9B,YAAoB,EACpB,QAAgB,EAChB,QAAgB,EAClB,EAAE;QACA,IAAI,QAAQ,GAAG,CAAC,EAAE;YACd,IAAI,WAAW,GAAG,CAAC,EAAE;gBACjB,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;aAChD;YAED,KAAK,CAAC,YAAY,CAAC,CAAC;SACvB;aAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE;YAC7B,IAAI,WAAW,KAAK,QAAQ,EAAE;gBAC1B,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;aACvD;YAED,KAAK,CAAC,YAAY,CAAC,CAAC;SACvB;aAAM,IAAI,WAAW,KAAK,QAAQ,EAAE;YACjC,cAAc,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEpD,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAChB,IAAI,YAAY,KAAK,QAAQ,EAAE;oBAC3B,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;iBACzD;gBAED,IAAI,CAAC,YAAY,CAAC,CAAC;aACtB;iBAAM;gBACH,KAAK,CAAC,YAAY,CAAC,CAAC;aACvB;SACJ;aAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,QAAQ,KAAK,CAAC,EAAE;gBAChB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,CAAC;aACtB;iBAAM;gBACH,KAAK,CAAC,YAAY,CAAC,CAAC;aACvB;SACJ;IACL,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { TTranslateTimingStateVectorFunction } from 'timing-object';
|
|
2
|
+
import { IUpdateVector } from '../interfaces';
|
|
3
|
+
import { TUpdateFunction } from '../types';
|
|
4
|
+
export declare const createUpdateStepwiseFactory: (translateTimingStateVector: TTranslateTimingStateVectorFunction) => (tolerance: number) => TUpdateFunction<IUpdateVector & {
|
|
5
|
+
lastAppliedPostion: number;
|
|
6
|
+
lastAppliedTimestamp: number;
|
|
7
|
+
lastAppliedVelocity: number;
|
|
8
|
+
lastPlayheadDifference: number;
|
|
9
|
+
mediaElementDelay: number;
|
|
10
|
+
numberOfDetectedResets: number;
|
|
11
|
+
numberOfExpectedResets: number;
|
|
12
|
+
}>;
|
|
3
13
|
//# sourceMappingURL=update-stepwise-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-stepwise-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/update-stepwise-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update-stepwise-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/update-stepwise-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,eAAO,MAAM,2BAA2B,+BAAgC,mCAAmC,iBAExF,MAAM,KAClB,gBACC,aAAa,GAAG;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAqIR,CAAC"}
|
|
@@ -1,40 +1,113 @@
|
|
|
1
|
+
const MAXIMUM_PLAYHEAD_DIFFERENCE = 0.5;
|
|
1
2
|
export const createUpdateStepwiseFactory = (translateTimingStateVector) => {
|
|
2
3
|
return (tolerance) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
return (timingStateVector, currentTime, previousUpdateVectorWithCustomState) => {
|
|
5
|
+
let { lastAppliedPostion, lastAppliedTimestamp, lastAppliedVelocity, lastPlayheadDifference, mediaElementDelay, numberOfDetectedResets, numberOfExpectedResets } = previousUpdateVectorWithCustomState !== null && previousUpdateVectorWithCustomState !== void 0 ? previousUpdateVectorWithCustomState : {
|
|
6
|
+
lastAppliedPostion: 0,
|
|
7
|
+
lastAppliedTimestamp: 0,
|
|
8
|
+
lastAppliedVelocity: 0,
|
|
9
|
+
lastPlayheadDifference: 0,
|
|
10
|
+
mediaElementDelay: 0,
|
|
11
|
+
numberOfDetectedResets: 0,
|
|
12
|
+
numberOfExpectedResets: 1
|
|
13
|
+
};
|
|
7
14
|
if (timingStateVector.position < 0 || timingStateVector.velocity === 0) {
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
lastAppliedPostion = timingStateVector.position;
|
|
16
|
+
lastAppliedVelocity = timingStateVector.velocity;
|
|
17
|
+
return {
|
|
18
|
+
lastAppliedPostion,
|
|
19
|
+
lastAppliedTimestamp: 0,
|
|
20
|
+
lastAppliedVelocity,
|
|
21
|
+
lastPlayheadDifference,
|
|
22
|
+
mediaElementDelay,
|
|
23
|
+
numberOfDetectedResets,
|
|
24
|
+
numberOfExpectedResets,
|
|
25
|
+
position: lastAppliedPostion,
|
|
26
|
+
velocity: lastAppliedVelocity
|
|
27
|
+
};
|
|
10
28
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (
|
|
29
|
+
// Bug #4: Safari decreases currentTime after playing for about 200 milliseconds.
|
|
30
|
+
if (lastAppliedVelocity === timingStateVector.velocity && lastPlayheadDifference < MAXIMUM_PLAYHEAD_DIFFERENCE) {
|
|
31
|
+
const playheadDifference = Math.abs(currentTime - lastAppliedPostion) * lastAppliedVelocity;
|
|
32
|
+
if (playheadDifference < MAXIMUM_PLAYHEAD_DIFFERENCE) {
|
|
33
|
+
if (playheadDifference + 0.001 > lastPlayheadDifference) {
|
|
34
|
+
lastPlayheadDifference = playheadDifference;
|
|
35
|
+
if (numberOfDetectedResets < numberOfExpectedResets) {
|
|
36
|
+
return {
|
|
37
|
+
lastAppliedPostion,
|
|
38
|
+
lastAppliedTimestamp,
|
|
39
|
+
lastAppliedVelocity,
|
|
40
|
+
lastPlayheadDifference,
|
|
41
|
+
mediaElementDelay,
|
|
42
|
+
numberOfDetectedResets,
|
|
43
|
+
numberOfExpectedResets,
|
|
44
|
+
position: currentTime,
|
|
45
|
+
velocity: lastAppliedVelocity
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
lastPlayheadDifference = playheadDifference;
|
|
51
|
+
numberOfDetectedResets += 1;
|
|
52
|
+
if (numberOfDetectedResets <= numberOfExpectedResets) {
|
|
53
|
+
return {
|
|
54
|
+
lastAppliedPostion,
|
|
55
|
+
lastAppliedTimestamp,
|
|
56
|
+
lastAppliedVelocity,
|
|
57
|
+
lastPlayheadDifference,
|
|
58
|
+
mediaElementDelay,
|
|
59
|
+
numberOfDetectedResets,
|
|
60
|
+
numberOfExpectedResets,
|
|
61
|
+
position: currentTime,
|
|
62
|
+
velocity: lastAppliedVelocity
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
numberOfExpectedResets += 1;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
15
69
|
lastPlayheadDifference = playheadDifference;
|
|
16
|
-
|
|
70
|
+
numberOfExpectedResets = Math.max(numberOfDetectedResets, 1);
|
|
17
71
|
}
|
|
18
|
-
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
lastAppliedTimestamp = 0;
|
|
19
75
|
}
|
|
20
76
|
const positionDifference = Math.abs(currentTime - timingStateVector.position);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
77
|
+
const velocityHasChanged = lastAppliedVelocity === 0 ||
|
|
78
|
+
(lastAppliedVelocity < 0 && timingStateVector.velocity > 0) ||
|
|
79
|
+
(lastAppliedVelocity > 0 && timingStateVector.velocity < 0);
|
|
80
|
+
if (positionDifference > tolerance || velocityHasChanged) {
|
|
81
|
+
if (lastAppliedTimestamp > 0) {
|
|
82
|
+
const elapsedTime = timingStateVector.timestamp - lastAppliedTimestamp;
|
|
83
|
+
const { position } = translateTimingStateVector({ acceleration: 0, position: lastAppliedPostion, timestamp: lastAppliedTimestamp, velocity: lastAppliedVelocity }, elapsedTime);
|
|
25
84
|
mediaElementDelay = position - currentTime;
|
|
26
85
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
86
|
+
lastAppliedPostion = timingStateVector.position + mediaElementDelay;
|
|
87
|
+
lastAppliedVelocity = timingStateVector.velocity;
|
|
88
|
+
return {
|
|
89
|
+
lastAppliedPostion,
|
|
90
|
+
lastAppliedTimestamp: timingStateVector.timestamp,
|
|
91
|
+
lastAppliedVelocity,
|
|
92
|
+
lastPlayheadDifference: 0,
|
|
93
|
+
mediaElementDelay,
|
|
94
|
+
numberOfDetectedResets: 0,
|
|
95
|
+
numberOfExpectedResets,
|
|
96
|
+
position: lastAppliedPostion,
|
|
97
|
+
velocity: lastAppliedVelocity
|
|
32
98
|
};
|
|
33
|
-
lastPlayheadDifference = 0;
|
|
34
|
-
return { position: positioWithDelay, velocity: timingStateVector.velocity };
|
|
35
99
|
}
|
|
36
|
-
|
|
37
|
-
|
|
100
|
+
return {
|
|
101
|
+
lastAppliedPostion,
|
|
102
|
+
lastAppliedTimestamp,
|
|
103
|
+
lastAppliedVelocity,
|
|
104
|
+
lastPlayheadDifference,
|
|
105
|
+
mediaElementDelay,
|
|
106
|
+
numberOfDetectedResets,
|
|
107
|
+
numberOfExpectedResets,
|
|
108
|
+
position: currentTime,
|
|
109
|
+
velocity: timingStateVector.velocity
|
|
110
|
+
};
|
|
38
111
|
};
|
|
39
112
|
};
|
|
40
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-stepwise-factory.js","sourceRoot":"","sources":["../../../src/factories/update-stepwise-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-stepwise-factory.js","sourceRoot":"","sources":["../../../src/factories/update-stepwise-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/factories/window.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/factories/window.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,2CAAwD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../src/factories/window.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../src/factories/window.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { createWindow } from '../factories/window';
|
|
2
|
+
export declare const determineSupportedPlaybackRateValues: (window: ReturnType<typeof createWindow>) => readonly [number, number];
|
|
2
3
|
//# sourceMappingURL=determine-supported-playback-rate-values.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"determine-supported-playback-rate-values.d.ts","sourceRoot":"","sources":["../../../src/functions/determine-supported-playback-rate-values.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"determine-supported-playback-rate-values.d.ts","sourceRoot":"","sources":["../../../src/functions/determine-supported-playback-rate-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,eAAO,MAAM,oCAAoC,WAAY,WAAW,mBAAmB,CAAC,KAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAuBtH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"determine-supported-playback-rate-values.js","sourceRoot":"","sources":["../../../src/functions/determine-supported-playback-rate-values.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"determine-supported-playback-rate-values.js","sourceRoot":"","sources":["../../../src/functions/determine-supported-playback-rate-values.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAU,CAAC;AAErE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,MAAuC,EAA6B,EAAE;IACvH,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,cAAc,CAAC;KACzB;IAED,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAEjC,IAAI;QACA,mDAAmD;QACnD,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;KAC3B;IAAC,MAAM;QACJ,sDAAsD;QACtD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAU,CAAC;KAC/B;IAED,IAAI;QACA,oDAAoD;QACpD,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;KAC3B;IAAC,MAAM;QACJ,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAU,CAAC;KAC1C;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const updateVectorWithNewPosition: (mediaElementDelay: number, position: number, updateVelocity: (nextPosition: number) => number) => {
|
|
2
|
+
mediaElementDelay: number;
|
|
3
|
+
position: number;
|
|
4
|
+
velocity: number;
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=update-vector-with-new-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-vector-with-new-position.d.ts","sourceRoot":"","sources":["../../../src/functions/update-vector-with-new-position.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,sBACjB,MAAM,YACf,MAAM,iCACe,MAAM,KAAK,MAAM;;;;CAKnD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const updateVectorWithNewPosition = (mediaElementDelay, position, updateVelocity) => {
|
|
2
|
+
const nextPosition = position + mediaElementDelay;
|
|
3
|
+
return { mediaElementDelay, position: nextPosition, velocity: updateVelocity(nextPosition) };
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=update-vector-with-new-position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-vector-with-new-position.js","sourceRoot":"","sources":["../../../src/functions/update-vector-with-new-position.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACvC,iBAAyB,EACzB,QAAgB,EAChB,cAAgD,EAClD,EAAE;IACA,MAAM,YAAY,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IAElD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;AACjG,CAAC,CAAC"}
|
package/build/es2019/module.d.ts
CHANGED
|
@@ -2,7 +2,15 @@ import { createSetTimingsrc } from './factories/set-timingsrc';
|
|
|
2
2
|
import { createUpdateGradually } from './factories/update-gradually';
|
|
3
3
|
export { createSetTimingsrc };
|
|
4
4
|
export { createUpdateGradually };
|
|
5
|
-
export declare const createUpdateStepwise: import("./types").
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export declare const createUpdateStepwise: (tolerance: number) => import("./types").TUpdateFunction<import("./interfaces").IUpdateVector & {
|
|
6
|
+
lastAppliedPostion: number;
|
|
7
|
+
lastAppliedTimestamp: number;
|
|
8
|
+
lastAppliedVelocity: number;
|
|
9
|
+
lastPlayheadDifference: number;
|
|
10
|
+
mediaElementDelay: number;
|
|
11
|
+
numberOfDetectedResets: number;
|
|
12
|
+
numberOfExpectedResets: number;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const setTimingsrcWithCustomUpdateFunction: <UpdateVectorWithCustomState extends import("./interfaces").IUpdateVector>(mediaElement: HTMLMediaElement, timingObject: import("timing-object").ITimingObject, updateFunction: import("./types").TUpdateFunction<UpdateVectorWithCustomState>, prepareTimingStateVector?: import("./types").TPrepareTimingStateVectorFunction | null) => () => void;
|
|
15
|
+
export declare const setTimingsrc: (mediaElement: HTMLMediaElement, timingObject: import("timing-object").ITimingObject, prepareTimingStateVector?: import("./types").TPrepareTimingStateVectorFunction | null) => () => void;
|
|
8
16
|
//# sourceMappingURL=module.d.ts.map
|