@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.
@@ -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;