@rendley/sdk 1.13.0 → 1.14.1

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.
Files changed (30) hide show
  1. package/dist/Engine.d.ts +61 -55
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +1 -1
  5. package/dist/libs/ffmpeg/classes.d.ts +1 -0
  6. package/dist/libs/ffmpeg/const.d.ts +1 -0
  7. package/dist/libs/ffmpeg/types.d.ts +6 -2
  8. package/dist/modules/clip/clips/adjustment/AdjustmentClip.d.ts +1 -0
  9. package/dist/modules/clip/clips/audio/AudioClip.d.ts +1 -1
  10. package/dist/modules/clip/clips/gif/GifClip.d.ts +1 -0
  11. package/dist/modules/clip/clips/htmlText/HtmlTextClip.d.ts +1 -1
  12. package/dist/modules/clip/clips/lottie/LottieClip.d.ts +1 -1
  13. package/dist/modules/clip/clips/shape/ShapeStyle.d.ts +4 -4
  14. package/dist/modules/clip/clips/text/TextClip.d.ts +1 -1
  15. package/dist/modules/clip/clips/text/TextStyle.d.ts +4 -4
  16. package/dist/modules/clip/clips/video/VideoClip.d.ts +5 -1
  17. package/dist/modules/ffmpeg/FFmpeg.d.ts +1 -0
  18. package/dist/modules/filmstrip-extractor/FilmstripExtractor.d.ts +1 -1
  19. package/dist/modules/filmstrip-extractor/FilmstripExtractor.types.d.ts +2 -1
  20. package/dist/modules/library/Library.d.ts +33 -33
  21. package/dist/modules/library/MediaData.d.ts +19 -8
  22. package/dist/modules/renderer/Renderer.d.ts +2 -0
  23. package/dist/modules/settings/Settings.d.ts +8 -0
  24. package/dist/modules/storage/StorageProviderBase.d.ts +1 -1
  25. package/dist/modules/timeline/Timeline.d.ts +1 -0
  26. package/dist/utils/browser/checkVideoCompatibilityOrTranscode.d.ts +18 -0
  27. package/dist/utils/file/urlToBlobChunks.d.ts +1 -0
  28. package/dist/utils/transcode/transcodeMedia.d.ts +25 -0
  29. package/dist/utils/transcode/transcodeOutputPath.d.ts +1 -0
  30. package/package.json +1 -1
@@ -131,6 +131,7 @@ export declare class FFmpeg {
131
131
  * @defaultValue binary
132
132
  */
133
133
  encoding?: string, { signal }?: FFMessageOptions) => Promise<FileData>;
134
+ readFilesAsBlob: (paths: string[], mimeType?: string, { signal }?: FFMessageOptions) => Promise<Blob>;
134
135
  /**
135
136
  * Delete a file.
136
137
  *
@@ -6,6 +6,7 @@ export declare enum FFMessageType {
6
6
  EXEC = "EXEC",
7
7
  WRITE_FILE = "WRITE_FILE",
8
8
  READ_FILE = "READ_FILE",
9
+ READ_FILES_AS_BLOB = "READ_FILES_AS_BLOB",
9
10
  DELETE_FILE = "DELETE_FILE",
10
11
  EXIST_FILE = "EXIST_FILE",
11
12
  RENAME = "RENAME",
@@ -105,6 +105,10 @@ export interface FFMessageReadFileData {
105
105
  path: FFFSPath;
106
106
  encoding: string;
107
107
  }
108
+ export interface FFMessageReadFilesAsBlobData {
109
+ paths: FFFSPath[];
110
+ mimeType?: string;
111
+ }
108
112
  export interface FFMessageDeleteFileData {
109
113
  path: FFFSPath;
110
114
  }
@@ -211,7 +215,7 @@ export interface FFMessageMountData {
211
215
  export interface FFMessageUnmountData {
212
216
  mountPoint: FFFSPath;
213
217
  }
214
- export type FFMessageData = FFMessageLoadConfig | FFMessageExecData | FFMessageWriteFileData | FFMessageReadFileData | FFMessageDeleteFileData | FFMessageRenameData | FFMessageCreateDirData | FFMessageListDirData | FFMessageDeleteDirData | FFMessageMountData | FFMessageUnmountData | FFMessageGetInfoData | FFMessageGetSubtitlesData | FFMessageFrameData | FFMessageFrame | FFMessageRenderSettings | FFMessageChunkedMuxData | FFMessageInitDemuxerData | FFMessageSeekDemuxerData | FFMessageIdDemuxerData | FFMessageMuxerData | FFMessageAuthentificateData | FFMessageFetchTSChunksData | FFMessageTranscodeData | FFMessageCreateArchiveData | FFMessageOpenArchiveData | FFMessageSaveArchiveData | FFMessageCloseArchiveData | FFMessageAddDataToArchiveData | FFMessageReadFileFromArchiveData | FFMessageExtractAllFromArchiveData | FFMessageAddFileToArchiveData | FFMessageAddFilesToArchiveData | FFMessageListFilesFromArchiveData | FFMessageExtractFileFromArchiveData | FFMessagePathExistsData;
218
+ export type FFMessageData = FFMessageLoadConfig | FFMessageExecData | FFMessageWriteFileData | FFMessageReadFileData | FFMessageReadFilesAsBlobData | FFMessageDeleteFileData | FFMessageRenameData | FFMessageCreateDirData | FFMessageListDirData | FFMessageDeleteDirData | FFMessageMountData | FFMessageUnmountData | FFMessageGetInfoData | FFMessageGetSubtitlesData | FFMessageFrameData | FFMessageFrame | FFMessageRenderSettings | FFMessageChunkedMuxData | FFMessageInitDemuxerData | FFMessageSeekDemuxerData | FFMessageIdDemuxerData | FFMessageMuxerData | FFMessageAuthentificateData | FFMessageFetchTSChunksData | FFMessageTranscodeData | FFMessageCreateArchiveData | FFMessageOpenArchiveData | FFMessageSaveArchiveData | FFMessageCloseArchiveData | FFMessageAddDataToArchiveData | FFMessageReadFileFromArchiveData | FFMessageExtractAllFromArchiveData | FFMessageAddFileToArchiveData | FFMessageAddFilesToArchiveData | FFMessageListFilesFromArchiveData | FFMessageExtractFileFromArchiveData | FFMessagePathExistsData;
215
219
  export interface Message {
216
220
  type: string;
217
221
  data?: FFMessageData;
@@ -245,7 +249,7 @@ export interface FSNode {
245
249
  name: string;
246
250
  isDir: boolean;
247
251
  }
248
- export type CallbackData = FileData | ExitCode | ErrorMessage | LogEvent | ProgressEvent | IsFirst | OK | Error | FSNode[] | undefined | object | null;
252
+ export type CallbackData = FileData | Blob | ExitCode | ErrorMessage | LogEvent | ProgressEvent | IsFirst | OK | Error | FSNode[] | undefined | object | null;
249
253
  export interface Callbacks {
250
254
  [id: number | string]: (data: CallbackData) => void;
251
255
  }
@@ -17,6 +17,7 @@ export declare class AdjustmentClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Spr
17
17
  updateVisibility(currentTime: number): void;
18
18
  getLeftRenderBound(): number;
19
19
  getRightRenderBound(): number;
20
+ update(currentTime: number): void;
20
21
  render(currentTime: number): void;
21
22
  postRender(currentTime: number): void;
22
23
  getIsProcessing(): boolean;
@@ -116,8 +116,8 @@ export declare class AudioClip extends Clip {
116
116
  name?: string | undefined;
117
117
  wrapMode?: import('../../../../types').WrapModeEnum | undefined;
118
118
  blendMode?: import('../../../../types').BlendModeEnum | undefined;
119
- customData?: [string, unknown][] | undefined;
120
119
  style?: unknown;
120
+ customData?: [string, unknown][] | undefined;
121
121
  subtitlesId?: string | undefined;
122
122
  animationController?: {
123
123
  animationInDuration: number;
@@ -12,6 +12,7 @@ export declare class GifClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Sprite>> {
12
12
  private lastRightTrim;
13
13
  private gifAnimator;
14
14
  constructor(options: GifClipOptions);
15
+ private createGifAnimatorFromMediaBlob;
15
16
  init(layerId: string): Promise<void>;
16
17
  private getGlobalTimeToClipTime;
17
18
  updateMediaData(newMediaId?: string, options?: ReplaceMediaOptions): Promise<boolean>;
@@ -164,8 +164,8 @@ export declare class HtmlTextClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Sprit
164
164
  wrapMode?: import('../../../../types').WrapModeEnum | undefined;
165
165
  blendMode?: import('../../../../types').BlendModeEnum | undefined;
166
166
  mediaDataId?: string | undefined;
167
- customData?: [string, unknown][] | undefined;
168
167
  style?: unknown;
168
+ customData?: [string, unknown][] | undefined;
169
169
  subtitlesId?: string | undefined;
170
170
  animationController?: {
171
171
  animationInDuration: number;
@@ -208,8 +208,8 @@ export declare class LottieClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Sprite>
208
208
  wrapMode?: WrapModeEnum | undefined;
209
209
  blendMode?: import('../../../../types').BlendModeEnum | undefined;
210
210
  mediaDataId?: string | undefined;
211
- customData?: [string, unknown][] | undefined;
212
211
  style?: unknown;
212
+ customData?: [string, unknown][] | undefined;
213
213
  subtitlesId?: string | undefined;
214
214
  animationController?: {
215
215
  animationInDuration: number;
@@ -99,8 +99,8 @@ export declare const ShapeStyleSchema: z.ZodObject<{
99
99
  width: z.ZodOptional<z.ZodNumber>;
100
100
  alpha: z.ZodNumber;
101
101
  rotation: z.ZodNumber;
102
- height: z.ZodOptional<z.ZodNumber>;
103
102
  mediaDataId: z.ZodOptional<z.ZodString>;
103
+ height: z.ZodOptional<z.ZodNumber>;
104
104
  clipId: z.ZodString;
105
105
  position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
106
106
  crop: z.ZodDefault<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
@@ -202,8 +202,8 @@ export declare const ShapeStyleSchema: z.ZodObject<{
202
202
  relativeCornerRadius: boolean;
203
203
  hasFill: boolean;
204
204
  width?: number | undefined;
205
- height?: number | undefined;
206
205
  mediaDataId?: string | undefined;
206
+ height?: number | undefined;
207
207
  cornerRadius?: [number, number, number, number] | undefined;
208
208
  fillColor?: string | undefined;
209
209
  strokeColor?: string | undefined;
@@ -240,8 +240,8 @@ export declare const ShapeStyleSchema: z.ZodObject<{
240
240
  position: [number, number];
241
241
  zIndex: number;
242
242
  width?: number | undefined;
243
- height?: number | undefined;
244
243
  mediaDataId?: string | undefined;
244
+ height?: number | undefined;
245
245
  crop?: [number, number, number, number] | undefined;
246
246
  cropOffset?: [number, number] | undefined;
247
247
  zoom?: [number, number] | undefined;
@@ -333,8 +333,8 @@ export declare class ShapeStyle extends ClipStyle<ShapeSprite> {
333
333
  relativeCornerRadius: boolean;
334
334
  hasFill: boolean;
335
335
  width?: number | undefined;
336
- height?: number | undefined;
337
336
  mediaDataId?: string | undefined;
337
+ height?: number | undefined;
338
338
  cornerRadius?: [number, number, number, number] | undefined;
339
339
  fillColor?: string | undefined;
340
340
  strokeColor?: string | undefined;
@@ -41,8 +41,8 @@ export declare class TextClip extends Clip<TextSprite, TextStyle> {
41
41
  wrapMode?: import('../../../../index').WrapModeEnum | undefined;
42
42
  blendMode?: import('../../../../index').BlendModeEnum | undefined;
43
43
  mediaDataId?: string | undefined;
44
- customData?: [string, unknown][] | undefined;
45
44
  style?: unknown;
45
+ customData?: [string, unknown][] | undefined;
46
46
  subtitlesId?: string | undefined;
47
47
  animationController?: {
48
48
  animationInDuration: number;
@@ -28,8 +28,8 @@ export declare const TextStyleSchema: z.ZodObject<{
28
28
  width: z.ZodOptional<z.ZodNumber>;
29
29
  alpha: z.ZodNumber;
30
30
  rotation: z.ZodNumber;
31
- height: z.ZodOptional<z.ZodNumber>;
32
31
  mediaDataId: z.ZodOptional<z.ZodString>;
32
+ height: z.ZodOptional<z.ZodNumber>;
33
33
  clipId: z.ZodString;
34
34
  position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
35
35
  crop: z.ZodDefault<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>>;
@@ -88,8 +88,8 @@ export declare const TextStyleSchema: z.ZodObject<{
88
88
  dropShadowColor: string;
89
89
  dropShadowDistance: number;
90
90
  width?: number | undefined;
91
- height?: number | undefined;
92
91
  mediaDataId?: string | undefined;
92
+ height?: number | undefined;
93
93
  cornerRadius?: [number, number, number, number] | undefined;
94
94
  }, {
95
95
  scale: [number, number];
@@ -106,8 +106,8 @@ export declare const TextStyleSchema: z.ZodObject<{
106
106
  fontStyle: "normal" | "italic" | "oblique";
107
107
  backgroundColor: string | null;
108
108
  width?: number | undefined;
109
- height?: number | undefined;
110
109
  mediaDataId?: string | undefined;
110
+ height?: number | undefined;
111
111
  crop?: [number, number, number, number] | undefined;
112
112
  cropOffset?: [number, number] | undefined;
113
113
  zoom?: [number, number] | undefined;
@@ -222,8 +222,8 @@ export declare class TextStyle extends ClipStyle<TextSprite> {
222
222
  dropShadowColor: string;
223
223
  dropShadowDistance: number;
224
224
  width?: number | undefined;
225
- height?: number | undefined;
226
225
  mediaDataId?: string | undefined;
226
+ height?: number | undefined;
227
227
  cornerRadius?: [number, number, number, number] | undefined;
228
228
  };
229
229
  static deserialize(payload: object): TextStyle;
@@ -46,6 +46,10 @@ export declare class VideoClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Sprite>>
46
46
  private forceSoftwareDecoder;
47
47
  private ffmpeg;
48
48
  private callbacks;
49
+ private isDestroying;
50
+ private restoreVideoSourceIfMissing;
51
+ private ensureWorkerDir;
52
+ private mountMediaInWorker;
49
53
  private createUncachedVideoTexture;
50
54
  constructor(options: VideoClipOptions);
51
55
  init(layerId: string): Promise<void>;
@@ -188,8 +192,8 @@ export declare class VideoClip extends Clip<PIXI.Sprite, ClipStyle<PIXI.Sprite>>
188
192
  name?: string | undefined;
189
193
  wrapMode?: import('../../../../types').WrapModeEnum | undefined;
190
194
  blendMode?: import('../../../../types').BlendModeEnum | undefined;
191
- customData?: [string, unknown][] | undefined;
192
195
  style?: unknown;
196
+ customData?: [string, unknown][] | undefined;
193
197
  subtitlesId?: string | undefined;
194
198
  animationController?: {
195
199
  animationInDuration: number;
@@ -13,5 +13,6 @@ declare class FFmpeg {
13
13
  getWasmURL(): string;
14
14
  createCustomInstance(): Promise<RootFFmpeg | null>;
15
15
  reload(): Promise<void>;
16
+ destroy(): void;
16
17
  }
17
18
  export { FFmpeg };
@@ -20,7 +20,7 @@ export declare class FilmstripExtractor {
20
20
  constructor();
21
21
  private createWorker;
22
22
  private destroyWorker;
23
- init(blobUrl: string, metadata: MediaInfo): Promise<void>;
23
+ init(blobUrl: string | undefined, metadata: MediaInfo, source?: Blob | File): Promise<void>;
24
24
  process(): void;
25
25
  isDone(): boolean;
26
26
  addEventListener<K extends FilmstripExtractorEventTypeEnum>(type: K, callback: EventMap[K]): void;
@@ -19,7 +19,8 @@ export interface IFilmstripExtractorPayloadOutput {
19
19
  timestamp: number;
20
20
  }
21
21
  export interface IFilmstripExtractorPayloadInit {
22
- blobUrl: string;
22
+ blobUrl?: string;
23
+ source?: Blob | File;
23
24
  codec: string;
24
25
  displayWidth: number;
25
26
  displayHeight: number;
@@ -343,6 +343,17 @@ export declare const LibrarySchema: z.ZodObject<{
343
343
  wordTimings?: number[] | undefined;
344
344
  }[];
345
345
  }[];
346
+ media: {
347
+ type: string;
348
+ id: string;
349
+ filename: string;
350
+ name?: string | undefined;
351
+ permanentUrl?: string | undefined;
352
+ hash?: string | undefined;
353
+ mimeType?: string | undefined;
354
+ customData?: [string, unknown][] | undefined;
355
+ placeholderClipIds?: string[] | undefined;
356
+ }[];
346
357
  transitions: {
347
358
  name: string;
348
359
  properties: {
@@ -401,17 +412,6 @@ export declare const LibrarySchema: z.ZodObject<{
401
412
  blendMode?: import('../../index').BlendModeEnum | undefined;
402
413
  padding?: number | undefined;
403
414
  }[];
404
- media: {
405
- type: string;
406
- id: string;
407
- filename: string;
408
- name?: string | undefined;
409
- permanentUrl?: string | undefined;
410
- hash?: string | undefined;
411
- mimeType?: string | undefined;
412
- customData?: [string, unknown][] | undefined;
413
- placeholderClipIds?: string[] | undefined;
414
- }[];
415
415
  customData?: [string, unknown][] | undefined;
416
416
  }, {
417
417
  subtitles: {
@@ -425,6 +425,17 @@ export declare const LibrarySchema: z.ZodObject<{
425
425
  wordTimings?: number[] | undefined;
426
426
  }[];
427
427
  }[];
428
+ media: {
429
+ type: string;
430
+ id: string;
431
+ filename: string;
432
+ name?: string | undefined;
433
+ permanentUrl?: string | undefined;
434
+ hash?: string | undefined;
435
+ mimeType?: string | undefined;
436
+ customData?: [string, unknown][] | undefined;
437
+ placeholderClipIds?: string[] | undefined;
438
+ }[];
428
439
  transitions: {
429
440
  name: string;
430
441
  properties: {
@@ -483,17 +494,6 @@ export declare const LibrarySchema: z.ZodObject<{
483
494
  blendMode?: import('../../index').BlendModeEnum | undefined;
484
495
  padding?: number | undefined;
485
496
  }[];
486
- media: {
487
- type: string;
488
- id: string;
489
- filename: string;
490
- name?: string | undefined;
491
- permanentUrl?: string | undefined;
492
- hash?: string | undefined;
493
- mimeType?: string | undefined;
494
- customData?: [string, unknown][] | undefined;
495
- placeholderClipIds?: string[] | undefined;
496
- }[];
497
497
  customData?: [string, unknown][] | undefined;
498
498
  }>;
499
499
  export declare class Library {
@@ -582,6 +582,17 @@ export declare class Library {
582
582
  wordTimings?: number[] | undefined;
583
583
  }[];
584
584
  }[];
585
+ media: {
586
+ type: string;
587
+ id: string;
588
+ filename: string;
589
+ name?: string | undefined;
590
+ permanentUrl?: string | undefined;
591
+ hash?: string | undefined;
592
+ mimeType?: string | undefined;
593
+ customData?: [string, unknown][] | undefined;
594
+ placeholderClipIds?: string[] | undefined;
595
+ }[];
585
596
  transitions: {
586
597
  name: string;
587
598
  properties: {
@@ -640,17 +651,6 @@ export declare class Library {
640
651
  blendMode?: import('../../index').BlendModeEnum | undefined;
641
652
  padding?: number | undefined;
642
653
  }[];
643
- media: {
644
- type: string;
645
- id: string;
646
- filename: string;
647
- name?: string | undefined;
648
- permanentUrl?: string | undefined;
649
- hash?: string | undefined;
650
- mimeType?: string | undefined;
651
- customData?: [string, unknown][] | undefined;
652
- placeholderClipIds?: string[] | undefined;
653
- }[];
654
654
  customData?: [string, unknown][] | undefined;
655
655
  };
656
656
  static deserialize(data: object): Library;
@@ -65,8 +65,9 @@ export declare class MediaData {
65
65
  height?: number;
66
66
  duration?: number;
67
67
  blobUrl?: string;
68
- data?: Uint8Array;
69
- size?: number;
68
+ /** Media payload used by previews, playback, object URLs, and FFmpeg mounts. Preserves File instances when available. */
69
+ mediaSource?: Blob | File;
70
+ size: number;
70
71
  metadata?: MediaInfo;
71
72
  storePath?: string;
72
73
  permanentUrl?: string;
@@ -77,6 +78,9 @@ export declare class MediaData {
77
78
  private sampleData;
78
79
  private filmstripData;
79
80
  private filmstripState;
81
+ private workerFSMountPoint?;
82
+ private workerFSFilePath?;
83
+ private fetchAbortController;
80
84
  audioSplit?: string;
81
85
  private static lockMediaInfo;
82
86
  private waitForMediaInfoUnlock;
@@ -84,8 +88,12 @@ export declare class MediaData {
84
88
  constructor(id?: string);
85
89
  init(): Promise<void>;
86
90
  destroy(): Promise<void>;
91
+ private getFetchSignal;
92
+ private isAbortError;
87
93
  getId(): string;
88
94
  getName(): string;
95
+ /** Returns the media payload, preserving File identity when available. */
96
+ getMediaSource(): File | Blob | undefined;
89
97
  hasName(): boolean;
90
98
  setName(name: string): void;
91
99
  getStorageMediaData(): Promise<StorageMediaData | null>;
@@ -102,7 +110,15 @@ export declare class MediaData {
102
110
  getFilmstripState(): MediaProcessStatusEnum;
103
111
  getFilmstripData(): IFilmstripData[];
104
112
  getFilmstripDataRange(start: number, end: number): IFilmstripData[];
105
- private resampleLinear;
113
+ private hasSvgXmlSignature;
114
+ private normalizeSvgMetadata;
115
+ private isWorkerFSMountedPath;
116
+ private buildWritableStorePath;
117
+ private ensureWorkerFSRoot;
118
+ private cleanupWorkerFSMount;
119
+ private mountInputToWorkerFS;
120
+ private deinterleaveAudioSamples;
121
+ private mixToMono;
106
122
  private extractAudioSamples;
107
123
  getAudioSamples(startTime: number, duration?: number): Float32Array[] | null;
108
124
  private checkPlaceholderClips;
@@ -113,11 +129,6 @@ export declare class MediaData {
113
129
  clearAllCustomData(): void;
114
130
  setAllCustomData(data: Map<string, unknown>): void;
115
131
  getAllCustomData(): Map<string, unknown> | undefined;
116
- readFileIntoBlob(file: File, mimeType?: string): Promise<Blob>;
117
- private internalFFmpegTranscode;
118
- private transcode;
119
- private safariTestAndTranscode;
120
- private checkCompatibilityOrTranscode;
121
132
  hookM3U8(file: File | string | Uint8Array, mimeType: string | undefined): Promise<{
122
133
  status: boolean;
123
134
  data?: undefined;
@@ -14,6 +14,8 @@ export declare class Renderer {
14
14
  private originalWidth;
15
15
  private originalHeight;
16
16
  private originalResolution;
17
+ private ensureWorkerDir;
18
+ private mountMediaInWorker;
17
19
  constructor();
18
20
  destroy(): void;
19
21
  private visibilityChangeHandler;
@@ -34,6 +34,7 @@ export declare enum MonoMixType {
34
34
  }
35
35
  export declare const SettingsSchema: z.ZodObject<{
36
36
  m3u8MaxResolution: z.ZodDefault<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>;
37
+ useInternalTranscoder: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
37
38
  clipAudioStoreSamples: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
38
39
  clipAudioSampleRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
39
40
  clipAudioSampleForceMono: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -78,6 +79,7 @@ export declare const SettingsSchema: z.ZodObject<{
78
79
  mediaHashAlgorithm: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof HashAlgorithmEnum>>>;
79
80
  }, "strip", z.ZodTypeAny, {
80
81
  m3u8MaxResolution: [number, number];
82
+ useInternalTranscoder: boolean;
81
83
  clipAudioStoreSamples: boolean;
82
84
  clipAudioSampleRate: number;
83
85
  clipAudioSampleForceMono: boolean;
@@ -122,6 +124,7 @@ export declare const SettingsSchema: z.ZodObject<{
122
124
  mediaHashAlgorithm: HashAlgorithmEnum;
123
125
  }, {
124
126
  m3u8MaxResolution?: [number, number] | undefined;
127
+ useInternalTranscoder?: boolean | undefined;
125
128
  clipAudioStoreSamples?: boolean | undefined;
126
129
  clipAudioSampleRate?: number | undefined;
127
130
  clipAudioSampleForceMono?: boolean | undefined;
@@ -167,6 +170,7 @@ export declare const SettingsSchema: z.ZodObject<{
167
170
  }>;
168
171
  export declare class Settings {
169
172
  private m3u8MaxResolution;
173
+ private useInternalTranscoder;
170
174
  private clipAudioStoreSamples;
171
175
  private clipAudioSampleRate;
172
176
  private clipAudioSampleForceMono;
@@ -213,6 +217,7 @@ export declare class Settings {
213
217
  constructor();
214
218
  getDefaultSettings(): {
215
219
  m3u8MaxResolution: [number, number];
220
+ useInternalTranscoder: boolean;
216
221
  clipAudioStoreSamples: boolean;
217
222
  clipAudioSampleRate: number;
218
223
  clipAudioSampleForceMono: boolean;
@@ -346,6 +351,8 @@ export declare class Settings {
346
351
  getEncoderPreferredAcceleration(): PreferredAcceleration;
347
352
  setM3u8MaxResolution(width: number, height: number): void;
348
353
  getM3u8MaxResolution(): number[];
354
+ setUseInternalTranscoder(use: boolean): void;
355
+ getUseInternalTranscoder(): boolean;
349
356
  setSubtitlesScaleOnResize(scale: boolean): void;
350
357
  getSubtitlesScaleOnResize(): boolean;
351
358
  setSubtitlesAutoWrapOnResize(autoWrap: boolean): void;
@@ -356,6 +363,7 @@ export declare class Settings {
356
363
  getMediaHashAlgorithm(): HashAlgorithmEnum;
357
364
  serialize(): {
358
365
  m3u8MaxResolution: [number, number];
366
+ useInternalTranscoder: boolean;
359
367
  clipAudioStoreSamples: boolean;
360
368
  clipAudioSampleRate: number;
361
369
  clipAudioSampleForceMono: boolean;
@@ -10,7 +10,7 @@ export interface StorageStoreResults {
10
10
  }
11
11
  export interface StorageMediaData {
12
12
  hash: string;
13
- data: Uint8Array;
13
+ mediaSource: Blob | File;
14
14
  mediaId: string;
15
15
  name?: string;
16
16
  fileName?: string;
@@ -197,6 +197,7 @@ export declare class Timeline {
197
197
  getAllCustomData(): Map<string, unknown> | undefined;
198
198
  render(options?: TimelineRenderOptions): Promise<void>;
199
199
  postRender(): void;
200
+ stopRenderingLoop(): void;
200
201
  loadSerializedData(data: object): Promise<void>;
201
202
  serialize(): {
202
203
  startTime: number;
@@ -0,0 +1,18 @@
1
+ import { MediaInfo } from '../../modules/ffmpeg/types/FFmpeg.types';
2
+ interface CheckVideoCompatibilityOrTranscodeOptions {
3
+ blobUrl: string;
4
+ filePath: string;
5
+ outputPath?: string;
6
+ getData: () => Promise<Uint8Array>;
7
+ info: MediaInfo;
8
+ fileName: string;
9
+ permanentUrl?: string;
10
+ mimeType?: string;
11
+ mediaDataId: string;
12
+ waitForMediaInfoUnlock: () => Promise<void>;
13
+ lockMediaInfo: () => void;
14
+ unlockMediaInfo: () => void;
15
+ timeoutMs?: number;
16
+ }
17
+ export declare function checkVideoCompatibilityOrTranscode({ blobUrl, filePath, mediaDataId, getData, info, fileName, outputPath, permanentUrl, mimeType, waitForMediaInfoUnlock, lockMediaInfo, unlockMediaInfo, timeoutMs, }: CheckVideoCompatibilityOrTranscodeOptions): Promise<boolean>;
18
+ export {};
@@ -0,0 +1 @@
1
+ export declare function urlToBlobChunks(url: string, signal?: AbortSignal): Promise<Blob>;
@@ -0,0 +1,25 @@
1
+ import { TranscodeMediaDetails } from '../../modules/transcode';
2
+ interface InternalFFmpegTranscodeOptions {
3
+ filePath: string;
4
+ outputPath?: string;
5
+ mediaDataId: string;
6
+ waitForMediaInfoUnlock: () => Promise<void>;
7
+ lockMediaInfo: () => void;
8
+ unlockMediaInfo: () => void;
9
+ }
10
+ export declare function internalFFmpegTranscode({ filePath, mediaDataId, outputPath, waitForMediaInfoUnlock, lockMediaInfo, unlockMediaInfo, }: InternalFFmpegTranscodeOptions): Promise<boolean>;
11
+ interface TranscodeMediaOptions {
12
+ filePath: string;
13
+ outputPath?: string;
14
+ getData: () => Promise<Uint8Array>;
15
+ info: TranscodeMediaDetails["mediaInfo"];
16
+ fileName: string;
17
+ permanentUrl?: string;
18
+ mimeType?: string;
19
+ mediaDataId: string;
20
+ waitForMediaInfoUnlock: () => Promise<void>;
21
+ lockMediaInfo: () => void;
22
+ unlockMediaInfo: () => void;
23
+ }
24
+ export declare function transcodeMedia({ filePath, mediaDataId, getData, info, fileName, outputPath, permanentUrl, mimeType, waitForMediaInfoUnlock, lockMediaInfo, unlockMediaInfo, }: TranscodeMediaOptions): Promise<boolean>;
25
+ export {};
@@ -0,0 +1 @@
1
+ export declare function getDefaultTranscodeOutputPath(filePath: string, mediaDataId: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rendley/sdk",
3
- "version": "1.13.0",
3
+ "version": "1.14.1",
4
4
  "license": "LICENSE",
5
5
  "author": "Onix Technologies",
6
6
  "homepage": "https://rendleysdk.com",