@netless/slide 1.4.55-alpha.5 → 1.4.55-alpha.6
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/lib/FrozenMediaState.d.ts +13 -0
- package/lib/FrozenMediaState.js +18 -0
- package/lib/Slide.d.ts +6 -1
- package/lib/Slide.js +28 -28
- package/lib/Slide.js.map +1 -0
- package/lib/global.js +1 -1
- package/lib/typeGuard/SyncEvent.d.ts +10 -0
- package/lib/typeGuard/SyncEvent.js +27 -0
- package/package.json +3 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FrozenMediaPlaybackState {
|
|
2
|
+
type: "pause" | "play";
|
|
3
|
+
time: number;
|
|
4
|
+
}
|
|
5
|
+
export declare type FrozenMediaTimes = {
|
|
6
|
+
[key: string]: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function captureFrozenMediaTimes(mediaState: {
|
|
9
|
+
[key: string]: FrozenMediaPlaybackState;
|
|
10
|
+
}, frozenTime: number): FrozenMediaTimes;
|
|
11
|
+
export declare function applyFrozenMediaTimes(mediaState: {
|
|
12
|
+
[key: string]: FrozenMediaPlaybackState;
|
|
13
|
+
}, frozenMediaTimes: FrozenMediaTimes, releaseTime: number): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function captureFrozenMediaTimes(mediaState, frozenTime) {
|
|
2
|
+
var frozenMediaTimes = Object.create(null);
|
|
3
|
+
for (var key in mediaState) {
|
|
4
|
+
if (mediaState[key].type === "play") {
|
|
5
|
+
frozenMediaTimes[key] = frozenTime;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return frozenMediaTimes;
|
|
9
|
+
}
|
|
10
|
+
export function applyFrozenMediaTimes(mediaState, frozenMediaTimes, releaseTime) {
|
|
11
|
+
for (var key in mediaState) {
|
|
12
|
+
var media = mediaState[key];
|
|
13
|
+
var frozenTime = frozenMediaTimes[key];
|
|
14
|
+
if (media.type === "play" && frozenTime !== undefined) {
|
|
15
|
+
media.time = releaseTime - (Math.max(frozenTime, media.time) - media.time);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
package/lib/Slide.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { AliTrackLogger } from "./AliTrackLogger";
|
|
|
5
5
|
import { preloadResource } from "./global";
|
|
6
6
|
export { ErrorType, PreloadCancelledError } from "@netless/ppt-player";
|
|
7
7
|
export type { SyncEventQueuePolicy } from "./SyncTaskManager";
|
|
8
|
+
export declare const LOCAL_GIF_RUNTIME_CAPABILITY = "netless-slide-local-gif-production-client-geometry";
|
|
8
9
|
export declare type UrlInterrupter = (url: string) => Promise<string>;
|
|
9
10
|
export interface ILoaderDelegate {
|
|
10
11
|
/**
|
|
@@ -179,6 +180,10 @@ export interface ISlideRenderOptions {
|
|
|
179
180
|
*/
|
|
180
181
|
transitionResolutionLevel?: number;
|
|
181
182
|
antialias?: boolean;
|
|
183
|
+
/** Maximum compressed bytes accepted for one client-decoded GIF. */
|
|
184
|
+
localGifMaxCompressedBytes?: number;
|
|
185
|
+
/** Maximum estimated GIF working set for one cached slide. */
|
|
186
|
+
localGifMaxWorkingSetBytes?: number;
|
|
182
187
|
}
|
|
183
188
|
export interface INavigatorDelegate {
|
|
184
189
|
gotoPage?: (index: number) => void;
|
|
@@ -296,7 +301,6 @@ export interface ISlideConfig {
|
|
|
296
301
|
interface MediaState {
|
|
297
302
|
type: "pause" | "play";
|
|
298
303
|
time: number;
|
|
299
|
-
frozenTime?: number;
|
|
300
304
|
fullscreen?: boolean;
|
|
301
305
|
}
|
|
302
306
|
interface TimeNodeSeqState {
|
|
@@ -447,6 +451,7 @@ export declare class Slide extends Slide_base {
|
|
|
447
451
|
private userInputTime;
|
|
448
452
|
private isSyncingSlideState;
|
|
449
453
|
private frozenTaskManager;
|
|
454
|
+
private frozenMediaTimes;
|
|
450
455
|
private randomId;
|
|
451
456
|
private resize;
|
|
452
457
|
private isAnimating;
|