Skip to content

Commit fbeaaf8

Browse files
committed
feat: Add mergeSmallPartsBeforeUpload option
1 parent 27914f0 commit fbeaaf8

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/progressive-video-uploader.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { PromiseQueue } from "./promise-queue";
33

44
export interface ProgressiveUploadCommonOptions {
55
preventEmptyParts?: boolean;
6+
mergeSmallPartsBeforeUpload?: boolean;
67
}
78

89
export interface ProgressiveUploaderOptionsWithUploadToken extends ProgressiveUploadCommonOptions, CommonOptions, WithUploadToken { }
@@ -26,20 +27,22 @@ export class ProgressiveUploader extends AbstractUploader<ProgressiveProgressEve
2627
private queue = new PromiseQueue();
2728
private preventEmptyParts: boolean;
2829
private fileName: string;
30+
private mergeSmallPartsBeforeUpload: boolean;
2931

3032
constructor(options: ProgressiveUploaderOptionsWithAccessToken | ProgressiveUploaderOptionsWithUploadToken | ProgressiveUploaderOptionsWithApiKey) {
3133
super(options);
3234
this.preventEmptyParts = options.preventEmptyParts || false;
3335
this.fileName = options.videoName || 'file';
36+
this.mergeSmallPartsBeforeUpload = options.mergeSmallPartsBeforeUpload ?? true;
3437
}
3538

3639
public uploadPart(file: Blob): Promise<void> {
3740
this.currentPartBlobsSize += file.size;
3841
this.currentPartBlobs.push(file);
3942

4043
if ((this.preventEmptyParts && (this.currentPartBlobsSize - file.size >= MIN_CHUNK_SIZE))
41-
|| (!this.preventEmptyParts && (this.currentPartBlobsSize >= MIN_CHUNK_SIZE))) {
42-
44+
|| (!this.preventEmptyParts && (this.currentPartBlobsSize >= MIN_CHUNK_SIZE))
45+
|| (!this.mergeSmallPartsBeforeUpload)) {
4346
let toSend: any[];
4447
if(this.preventEmptyParts) {
4548
toSend = this.currentPartBlobs.slice(0, -1);

0 commit comments

Comments
 (0)