tirtc-react-native 2.5.0-alpha.1 → 2.5.0
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/README.md +39 -6
- package/TiRtcReactNative.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcModule.kt +137 -14
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeCleanup.kt +54 -19
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeCloudStorageCallbacks.kt +60 -0
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeEventBinder.kt +2 -0
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeEventSink.kt +20 -0
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeMaps.kt +112 -5
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeOptions.kt +2 -7
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeRegistry.kt +3 -0
- package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeStorageSupport.kt +46 -22
- package/ios/TiRtcReactNative+Conn.mm +61 -0
- package/ios/TiRtcReactNative+Output.mm +1 -7
- package/ios/TiRtcReactNative+Private.h +1 -0
- package/ios/TiRtcReactNative+Storage.mm +133 -35
- package/ios/TiRtcReactNative.mm +137 -48
- package/ios/TiRtcReactNativeCloudStorageCallbacks.h +13 -0
- package/ios/TiRtcReactNativeCloudStorageCallbacks.mm +67 -0
- package/ios/TiRtcReactNativeEventBinder.h +4 -0
- package/ios/TiRtcReactNativeEventBinder.mm +11 -0
- package/ios/TiRtcReactNativeEventSink.h +5 -0
- package/ios/TiRtcReactNativeEventSink.mm +18 -0
- package/ios/TiRtcReactNativeMaps.h +6 -0
- package/ios/TiRtcReactNativeMaps.mm +47 -0
- package/ios/TiRtcReactNativeOptions.mm +2 -6
- package/lib/module/audio_input.js +23 -4
- package/lib/module/audio_input.js.map +1 -1
- package/lib/module/build_identity.js +1 -1
- package/lib/module/conn.js +19 -0
- package/lib/module/conn.js.map +1 -1
- package/lib/module/events.js +16 -9
- package/lib/module/events.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/raw_dump.js +53 -0
- package/lib/module/raw_dump.js.map +1 -0
- package/lib/module/specs/NativeTiRtc.js.map +1 -1
- package/lib/module/storage.js +185 -33
- package/lib/module/storage.js.map +1 -1
- package/lib/module/types.js +0 -4
- package/lib/module/types.js.map +1 -1
- package/lib/module/video_input.js +16 -6
- package/lib/module/video_input.js.map +1 -1
- package/lib/typescript/conn.d.ts +2 -0
- package/lib/typescript/index.d.ts +5 -3
- package/lib/typescript/native.d.ts +1 -1
- package/lib/typescript/raw_dump.d.ts +35 -0
- package/lib/typescript/specs/NativeTiRtc.d.ts +74 -2
- package/lib/typescript/storage.d.ts +82 -3
- package/lib/typescript/types.d.ts +5 -6
- package/package.json +2 -2
- package/src/audio_input.ts +30 -11
- package/src/conn.ts +23 -0
- package/src/events.ts +14 -9
- package/src/index.ts +17 -1
- package/src/native.ts +7 -1
- package/src/raw_dump.ts +84 -0
- package/src/specs/NativeTiRtc.ts +79 -2
- package/src/storage.ts +256 -39
- package/src/types.ts +5 -8
- package/src/video_input.ts +22 -12
package/lib/module/conn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conn.js","sourceRoot":"","sources":["../../src/conn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAC,0BAA0B,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAsB,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAC,WAAW,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,6BAA6B,GAI9B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"conn.js","sourceRoot":"","sources":["../../src/conn.ts"],"names":[],"mappings":"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"}
|
package/lib/module/events.js
CHANGED
|
@@ -10,19 +10,26 @@ function ensureSubscribed() {
|
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
12
|
subscription = NativeTiRtc.onTiRtcEvent((event) => {
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
if (event.type === 'tiCloudStorageCallbackReady') {
|
|
14
|
+
const pending = NativeTiRtc.tiCloudStorageTakeCallback();
|
|
15
|
+
if (pending === null)
|
|
16
|
+
return;
|
|
17
|
+
try {
|
|
18
|
+
deliver(pending.event);
|
|
19
|
+
}
|
|
20
|
+
finally {
|
|
21
|
+
NativeTiRtc.tiCloudStorageAcknowledgeCallback(pending.deliveryId);
|
|
22
|
+
}
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
25
|
+
deliver(event);
|
|
24
26
|
});
|
|
25
27
|
}
|
|
28
|
+
function deliver(event) {
|
|
29
|
+
if (!isPositiveInt32(event.objectId) || !isPositiveInt32(event.generation))
|
|
30
|
+
return;
|
|
31
|
+
handlers.get(eventKey({ objectId: event.objectId, generation: event.generation }))?.(event);
|
|
32
|
+
}
|
|
26
33
|
export function registerNativeEventHandler(identity, handler) {
|
|
27
34
|
handlers.set(eventKey(identity), handler);
|
|
28
35
|
ensureSubscribed();
|
package/lib/module/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAKzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;AACvD,IAAI,YAAY,GAAgC,IAAI,CAAC;AAErD,SAAS,QAAQ,CAAC,QAAwB;IACxC,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAKzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;AACvD,IAAI,YAAY,GAAgC,IAAI,CAAC;AAErD,SAAS,QAAQ,CAAC,QAAwB;IACxC,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,WAAW,CAAC,0BAA0B,EAAE,CAAC;YACzD,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO;YAC7B,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;YACD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,KAAuB;IACtC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO;IACnF,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAwB,EAAE,OAA2B;IAC9F,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAwB;IACnE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACjD,YAAY,CAAC,MAAM,EAAE,CAAC;QACtB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;AACH,CAAC"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { TiRtcOutputBufferStrategy, TiRtcConnState, TiRtcInputState, TiRtcAudioCodec, TiRtcAudioSampleRate, TiRtcAudioChannelCount, TiRtcAudioAecMode, TiRtcAudioAgcLevel, TiRtcAudioAnsLevel, TiRtcVideoCodec,
|
|
1
|
+
export { TiRtcOutputBufferStrategy, TiRtcConnState, TiRtcInputState, TiRtcAudioCodec, TiRtcAudioSampleRate, TiRtcAudioChannelCount, TiRtcAudioAecMode, TiRtcAudioAgcLevel, TiRtcAudioAnsLevel, TiRtcVideoCodec, TiRtcVideoFrameRate, TiRtcCameraFacing, TiRtcVideoDecoderPreference, TiRtcVideoDecoderBackend, TiRtcVideoBitstreamFormat, TiRtcAudioOutputState, TiRtcVideoOutputState, } from './types';
|
|
2
2
|
export { TiRtc } from './runtime';
|
|
3
3
|
export { TiRtcConn } from './conn';
|
|
4
4
|
export { TiRtcAudioOutput } from './audio_output';
|
|
@@ -7,5 +7,6 @@ export { TiRtcAudioInput } from './audio_input';
|
|
|
7
7
|
export { TiRtcVideoInput, TiRtcVideoInputPreview } from './video_input';
|
|
8
8
|
export { TiRtcLogging } from './logging';
|
|
9
9
|
export { TiRtcRecordingTask } from './recording';
|
|
10
|
-
export {
|
|
10
|
+
export { TiRawDump } from './raw_dump';
|
|
11
|
+
export { TI_CLOUD_STORAGE_ERROR_OK, TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT, TI_CLOUD_STORAGE_ERROR_NOT_INITIALIZED, TI_CLOUD_STORAGE_ERROR_TOKEN_EXPIRED, TI_CLOUD_STORAGE_ERROR_ALREADY_INITIALIZED, TI_CLOUD_STORAGE_ERROR_PERMISSION_DENIED, TI_CLOUD_STORAGE_ERROR_IN_USE, TI_CLOUD_STORAGE_ERROR_NOT_STARTED, TI_CLOUD_STORAGE_ERROR_NOT_BOUND, TI_CLOUD_STORAGE_ERROR_NOT_CONFIGURED, TI_CLOUD_STORAGE_ERROR_RESOURCE_EXHAUSTED, TI_CLOUD_STORAGE_ERROR_FILE_WRITE_FAILED, TI_CLOUD_STORAGE_ERROR_UNSUPPORTED_FORMAT, TI_CLOUD_STORAGE_ERROR_IO_FAILED, TI_CLOUD_STORAGE_ERROR_CANCELLED, TI_CLOUD_STORAGE_ERROR_RANGE_TOO_LARGE, TI_CLOUD_STORAGE_ERROR_NO_FRAME, TI_CLOUD_STORAGE_ERROR_NO_RECORDABLE_MEDIA, TI_CLOUD_STORAGE_ERROR_RECORDING_OVERRUN, TI_CLOUD_STORAGE_ERROR_RECORDING_UNREADABLE, TI_CLOUD_STORAGE_ERROR_UNAVAILABLE, TI_CLOUD_STORAGE_ERROR_STOPPED, TI_CLOUD_STORAGE_ERROR_RECORDING_NOT_FOUND, TI_CLOUD_STORAGE_ERROR_RECORDING_DOWNLOAD_FAILED, TI_CLOUD_STORAGE_ERROR_NETWORK_UNAVAILABLE, TI_CLOUD_STORAGE_ERROR_ENDPOINT_DNS_RESOLUTION_FAILED, TiCloudStorageReplaySpeed, TiCloudStorageRecordingTrackKind, TiCloudStorageRecordingGapReason, TiCloudStorageExportTermination, TiCloudStorageAudioOutputState, TiCloudStorageVideoOutputState, TiCloudStorage, TiCloudStorageReplay, TiCloudStorageAudioOutput, TiCloudStorageVideoOutput, TiCloudStorageVideoOutputView, TiCloudStorageRecordingTask, TiCloudStorageExportTask, } from './storage';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,SAAS,CAAC;AAmCjB,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAC;AAChC,OAAO,EAAC,SAAS,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAcrC,OAAO,EACL,yBAAyB,EACzB,uCAAuC,EACvC,sCAAsC,EACtC,oCAAoC,EACpC,0CAA0C,EAC1C,wCAAwC,EACxC,6BAA6B,EAC7B,kCAAkC,EAClC,gCAAgC,EAChC,qCAAqC,EACrC,yCAAyC,EACzC,wCAAwC,EACxC,yCAAyC,EACzC,gCAAgC,EAChC,gCAAgC,EAChC,sCAAsC,EACtC,+BAA+B,EAC/B,0CAA0C,EAC1C,wCAAwC,EACxC,2CAA2C,EAC3C,kCAAkC,EAClC,8BAA8B,EAC9B,0CAA0C,EAC1C,gDAAgD,EAChD,0CAA0C,EAC1C,qDAAqD,EACrD,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAC9B,8BAA8B,EAC9B,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isFiniteSafeInteger, TIRTC_ERROR_INVALID_ARGUMENT } from './errors';
|
|
2
|
+
import { NativeTiRtc } from './native';
|
|
3
|
+
const reasons = [
|
|
4
|
+
'unknown', 'user', 'timeLimit', 'byteLimit', 'sourceClosed', 'resourceLimit', 'writeFailed',
|
|
5
|
+
];
|
|
6
|
+
function archiveFromNative(value) {
|
|
7
|
+
return { ...value, stopReason: reasons[value.stopReason] ?? 'unknown' };
|
|
8
|
+
}
|
|
9
|
+
function failure(code) {
|
|
10
|
+
return { success: false, code, message: null, data: null };
|
|
11
|
+
}
|
|
12
|
+
export function normalizeRawDumpIds(value, maximum) {
|
|
13
|
+
if (!Array.isArray(value))
|
|
14
|
+
return null;
|
|
15
|
+
const result = new Set();
|
|
16
|
+
for (const item of value) {
|
|
17
|
+
if (!isFiniteSafeInteger(item) || item < 0 || item > maximum)
|
|
18
|
+
return null;
|
|
19
|
+
result.add(item);
|
|
20
|
+
}
|
|
21
|
+
return [...result];
|
|
22
|
+
}
|
|
23
|
+
export class TiRawDump {
|
|
24
|
+
constructor(nativeId) {
|
|
25
|
+
this.nativeId = nativeId;
|
|
26
|
+
this.stopPromise = null;
|
|
27
|
+
}
|
|
28
|
+
stop() {
|
|
29
|
+
if (this.stopPromise === null) {
|
|
30
|
+
this.stopPromise = NativeTiRtc.rawDumpStop(this.nativeId).then((result) => {
|
|
31
|
+
if (result.code !== 0 || result.archive === null) {
|
|
32
|
+
if (!result.terminal)
|
|
33
|
+
this.stopPromise = null;
|
|
34
|
+
return failure(result.code);
|
|
35
|
+
}
|
|
36
|
+
const archive = archiveFromNative(result.archive);
|
|
37
|
+
return { success: true, code: null, message: null, data: archive };
|
|
38
|
+
}).catch(() => {
|
|
39
|
+
this.stopPromise = null;
|
|
40
|
+
return failure(TIRTC_ERROR_INVALID_ARGUMENT);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return this.stopPromise;
|
|
44
|
+
}
|
|
45
|
+
async dispose() {
|
|
46
|
+
const result = await this.stop();
|
|
47
|
+
return result.success ? 0 : result.code ?? TIRTC_ERROR_INVALID_ARGUMENT;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function createRawDumpFromNative(nativeId) {
|
|
51
|
+
return Reflect.construct(TiRawDump, [nativeId]);
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=raw_dump.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw_dump.js","sourceRoot":"","sources":["../../src/raw_dump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAC,WAAW,EAA4B,MAAM,UAAU,CAAC;AA2BhE,MAAM,OAAO,GAAuC;IAClD,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa;CAC5F,CAAC;AAEF,SAAS,iBAAiB,CAAC,KAA2B;IACpD,OAAO,EAAC,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,SAAS,EAAC,CAAC;AACxE,CAAC;AAED,SAAS,OAAO,CAAI,IAAY;IAC9B,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,OAAe;IAEf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,SAAS;IAGpB,YAAqC,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAF7C,gBAAW,GAA2C,IAAI,CAAC;IAEX,CAAC;IAEzD,IAAI;QACF,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ;wBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC9C,OAAO,OAAO,CAAmB,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;YACnE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO,OAAO,CAAmB,4BAA4B,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,WAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,4BAA4B,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAc,CAAC;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeTiRtc.js","sourceRoot":"","sources":["../../../src/specs/NativeTiRtc.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"NativeTiRtc.js","sourceRoot":"","sources":["../../../src/specs/NativeTiRtc.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAscjD,eAAe,mBAAmB,CAAC,YAAY,CAAO,OAAO,CAAC,CAAC"}
|
package/lib/module/storage.js
CHANGED
|
@@ -4,9 +4,10 @@ import { isFiniteSafeInteger, isPlainObject, isUInt8, normalizeCreateResult, } f
|
|
|
4
4
|
import { registerNativeEventHandler, unregisterNativeEventHandler } from './events';
|
|
5
5
|
import { TiRtcLogging } from './logging';
|
|
6
6
|
import { logBuildIdentity } from './logging_internal';
|
|
7
|
-
import { NativeTiRtc, NativeTiRtcVideoOutputView } from './native';
|
|
7
|
+
import { NativeTiRtc, NativeTiRtcVideoOutputView, } from './native';
|
|
8
8
|
import { clearNativeIdentity, readNativeIdentity, setNativeIdentity, subscribeNativeIdentity, } from './native_object_id';
|
|
9
9
|
import { NativeMediaFileBase, recordingFailure } from './recording';
|
|
10
|
+
import { createRawDumpFromNative, normalizeRawDumpIds, } from './raw_dump';
|
|
10
11
|
export const TI_CLOUD_STORAGE_ERROR_OK = 0;
|
|
11
12
|
export const TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT = 6000;
|
|
12
13
|
export const TI_CLOUD_STORAGE_ERROR_NOT_INITIALIZED = 6001;
|
|
@@ -33,6 +34,25 @@ export const TI_CLOUD_STORAGE_ERROR_RECORDING_NOT_FOUND = 6134;
|
|
|
33
34
|
export const TI_CLOUD_STORAGE_ERROR_RECORDING_DOWNLOAD_FAILED = 6135;
|
|
34
35
|
export const TI_CLOUD_STORAGE_ERROR_NETWORK_UNAVAILABLE = 6136;
|
|
35
36
|
export const TI_CLOUD_STORAGE_ERROR_ENDPOINT_DNS_RESOLUTION_FAILED = 6137;
|
|
37
|
+
export const TiCloudStorageRecordingTrackKind = { video: 'video', audio: 'audio' };
|
|
38
|
+
export const TiCloudStorageRecordingGapReason = {
|
|
39
|
+
unknown: 'unknown',
|
|
40
|
+
notFound: 'notFound',
|
|
41
|
+
downloadFailed: 'downloadFailed',
|
|
42
|
+
integrityFailed: 'integrityFailed',
|
|
43
|
+
mediaUnreadable: 'mediaUnreadable',
|
|
44
|
+
noKeyFrame: 'noKeyFrame',
|
|
45
|
+
noRecording: 'noRecording',
|
|
46
|
+
decryptionFailed: 'decryptionFailed',
|
|
47
|
+
unsupportedMedia: 'unsupportedMedia',
|
|
48
|
+
trackUnavailable: 'trackUnavailable',
|
|
49
|
+
};
|
|
50
|
+
export const TiCloudStorageExportTermination = {
|
|
51
|
+
exhausted: 'exhausted',
|
|
52
|
+
interrupted: 'interrupted',
|
|
53
|
+
cancelled: 'cancelled',
|
|
54
|
+
failed: 'failed',
|
|
55
|
+
};
|
|
36
56
|
export const TiCloudStorageReplaySpeed = {
|
|
37
57
|
x0_125: 'x0_125',
|
|
38
58
|
x0_25: 'x0_25',
|
|
@@ -83,6 +103,34 @@ function success(data) {
|
|
|
83
103
|
function validTime(value) {
|
|
84
104
|
return isFiniteSafeInteger(value) && value >= 0;
|
|
85
105
|
}
|
|
106
|
+
function recordingGapFromNative(value) {
|
|
107
|
+
const kinds = [TiCloudStorageRecordingTrackKind.video, TiCloudStorageRecordingTrackKind.audio];
|
|
108
|
+
const reasons = Object.values(TiCloudStorageRecordingGapReason);
|
|
109
|
+
return {
|
|
110
|
+
range: value.range,
|
|
111
|
+
tracks: value.tracks.flatMap((track) => {
|
|
112
|
+
const kind = kinds[track.kind - 1];
|
|
113
|
+
return kind === undefined ? [] : [{ kind, channelId: track.channelId }];
|
|
114
|
+
}),
|
|
115
|
+
reasons: value.reasons.map((reason) => reasons[reason] ?? TiCloudStorageRecordingGapReason.unknown),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function exportProgressFromNative(value) {
|
|
119
|
+
return { fraction: value.fraction, coveredDurationMs: value.coveredDurationMs };
|
|
120
|
+
}
|
|
121
|
+
function exportReportFromNative(value) {
|
|
122
|
+
const terminations = Object.values(TiCloudStorageExportTermination);
|
|
123
|
+
return {
|
|
124
|
+
requestedRange: value.requestedRange,
|
|
125
|
+
coveredDurationMs: value.coveredDurationMs,
|
|
126
|
+
segments: value.segments,
|
|
127
|
+
gaps: value.gaps.map(recordingGapFromNative),
|
|
128
|
+
unprocessedRanges: value.unprocessedRanges,
|
|
129
|
+
complete: value.complete,
|
|
130
|
+
termination: terminations[value.termination] ?? TiCloudStorageExportTermination.failed,
|
|
131
|
+
cause: value.cause,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
86
134
|
function speedToNative(speed) {
|
|
87
135
|
switch (speed) {
|
|
88
136
|
case TiCloudStorageReplaySpeed.x0_125:
|
|
@@ -154,6 +202,7 @@ export class TiCloudStorage {
|
|
|
154
202
|
this.token = token;
|
|
155
203
|
this.identity = null;
|
|
156
204
|
this.disposed = false;
|
|
205
|
+
this.pendingAsyncOperations = 0;
|
|
157
206
|
}
|
|
158
207
|
static init(options) {
|
|
159
208
|
if (!isPlainObject(options) || typeof options.appId !== 'string' || options.appId.length === 0) {
|
|
@@ -205,10 +254,10 @@ export class TiCloudStorage {
|
|
|
205
254
|
return Promise.resolve({ code: identity, recordings: [] });
|
|
206
255
|
}
|
|
207
256
|
TiRtcLogging.i(tiCloudStorageLogTag, `[recording_list] outcome=started range_duration_ms=${endTimeMs - startTimeMs}`);
|
|
208
|
-
return NativeTiRtc.tiCloudStorageListRecordings(identity.objectId, startTimeMs, endTimeMs).then((result) => {
|
|
257
|
+
return this.trackAsyncOperation(() => NativeTiRtc.tiCloudStorageListRecordings(identity.objectId, startTimeMs, endTimeMs).then((result) => {
|
|
209
258
|
tiCloudStorageLogOutcome('recording_list', result.code, ` recording_count=${result.recordings.length}`);
|
|
210
259
|
return result;
|
|
211
|
-
});
|
|
260
|
+
}));
|
|
212
261
|
}
|
|
213
262
|
listRecordingDays(startDate, endDate, timeZoneId = 'Asia/Shanghai') {
|
|
214
263
|
if (typeof startDate !== 'string' ||
|
|
@@ -223,15 +272,15 @@ export class TiCloudStorage {
|
|
|
223
272
|
return Promise.resolve({ code: identity, days: [] });
|
|
224
273
|
}
|
|
225
274
|
TiRtcLogging.i(tiCloudStorageLogTag, '[recording_days_list] outcome=started');
|
|
226
|
-
return NativeTiRtc.tiCloudStorageListRecordingDays(identity.objectId, startDate, endDate, timeZoneId).then((result) => {
|
|
275
|
+
return this.trackAsyncOperation(() => NativeTiRtc.tiCloudStorageListRecordingDays(identity.objectId, startDate, endDate, timeZoneId).then((result) => {
|
|
227
276
|
tiCloudStorageLogOutcome('recording_days_list', result.code, ` day_count=${result.days.length}`);
|
|
228
277
|
return result;
|
|
229
|
-
});
|
|
278
|
+
}));
|
|
230
279
|
}
|
|
231
280
|
createReplay() {
|
|
232
281
|
return new TiCloudStorageReplay(this);
|
|
233
282
|
}
|
|
234
|
-
exportRecording(options,
|
|
283
|
+
exportRecording(options, observer) {
|
|
235
284
|
if (!validTime(options.startTimeMs) ||
|
|
236
285
|
!validTime(options.endTimeMs) ||
|
|
237
286
|
options.endTimeMs <= options.startTimeMs ||
|
|
@@ -245,12 +294,14 @@ export class TiCloudStorage {
|
|
|
245
294
|
const result = NativeTiRtc.tiCloudStorageExportRecording(identity.objectId, options.startTimeMs, options.endTimeMs, options.videoChannelId, options.audioChannelId ?? null);
|
|
246
295
|
tiCloudStorageLogOutcome('export_start', result.code, ` range_duration_ms=${options.endTimeMs - options.startTimeMs}`);
|
|
247
296
|
return result.code === 0 && result.taskId !== null
|
|
248
|
-
? success(new TiCloudStorageExportTask(result.taskId, this,
|
|
297
|
+
? success(new TiCloudStorageExportTask(result.taskId, result.generation, this, observer))
|
|
249
298
|
: recordingFailure(result.code);
|
|
250
299
|
}
|
|
251
300
|
dispose() {
|
|
252
301
|
if (this.disposed)
|
|
253
302
|
return 0;
|
|
303
|
+
if (this.pendingAsyncOperations > 0)
|
|
304
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
254
305
|
if (this.identity === null) {
|
|
255
306
|
this.disposed = true;
|
|
256
307
|
this.token = '';
|
|
@@ -267,6 +318,18 @@ export class TiCloudStorage {
|
|
|
267
318
|
}
|
|
268
319
|
return code;
|
|
269
320
|
}
|
|
321
|
+
trackAsyncOperation(operation) {
|
|
322
|
+
this.pendingAsyncOperations += 1;
|
|
323
|
+
try {
|
|
324
|
+
return operation().finally(() => {
|
|
325
|
+
this.pendingAsyncOperations -= 1;
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
this.pendingAsyncOperations -= 1;
|
|
330
|
+
return Promise.reject(error);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
270
333
|
ensureIdentity() {
|
|
271
334
|
if (this.disposed)
|
|
272
335
|
return TI_CLOUD_STORAGE_ERROR_NOT_INITIALIZED;
|
|
@@ -293,11 +356,13 @@ export class TiCloudStorageReplay {
|
|
|
293
356
|
this.cloudStorage = cloudStorage;
|
|
294
357
|
this.identity = null;
|
|
295
358
|
this.disposed = false;
|
|
359
|
+
this.inCallback = false;
|
|
296
360
|
this.currentSpeed = 'x1';
|
|
297
361
|
this.currentTime = null;
|
|
298
362
|
this.onTimeChanged = null;
|
|
299
363
|
this.onError = null;
|
|
300
364
|
this.onCompleted = null;
|
|
365
|
+
this.onRecordingGap = null;
|
|
301
366
|
}
|
|
302
367
|
get speed() {
|
|
303
368
|
if (this.identity !== null) {
|
|
@@ -316,6 +381,8 @@ export class TiCloudStorageReplay {
|
|
|
316
381
|
return this.currentTime;
|
|
317
382
|
}
|
|
318
383
|
play(startTimeMs, endTimeMs, initialTimeMs) {
|
|
384
|
+
if (this.inCallback)
|
|
385
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
319
386
|
if (!validTime(startTimeMs) ||
|
|
320
387
|
!validTime(endTimeMs) ||
|
|
321
388
|
endTimeMs <= startTimeMs ||
|
|
@@ -340,6 +407,8 @@ export class TiCloudStorageReplay {
|
|
|
340
407
|
return code;
|
|
341
408
|
}
|
|
342
409
|
seek(timeMs) {
|
|
410
|
+
if (this.inCallback)
|
|
411
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
343
412
|
if (!validTime(timeMs))
|
|
344
413
|
return TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT;
|
|
345
414
|
const identity = this.ensureIdentity();
|
|
@@ -374,7 +443,24 @@ export class TiCloudStorageReplay {
|
|
|
374
443
|
? success(new TiCloudStorageRecordingTask(result.taskId, this))
|
|
375
444
|
: recordingFailure(result.code);
|
|
376
445
|
}
|
|
446
|
+
async startRawDump(options) {
|
|
447
|
+
if (options === null || typeof options !== 'object')
|
|
448
|
+
return recordingFailure(TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT);
|
|
449
|
+
const audio = normalizeRawDumpIds(options.audioChannelIds ?? [], 255);
|
|
450
|
+
const video = normalizeRawDumpIds(options.videoChannelIds ?? [], 255);
|
|
451
|
+
if (audio === null || video === null || (audio.length === 0 && video.length === 0))
|
|
452
|
+
return recordingFailure(TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT);
|
|
453
|
+
const identity = this.ensureIdentity();
|
|
454
|
+
if (typeof identity === 'number')
|
|
455
|
+
return recordingFailure(identity);
|
|
456
|
+
const result = await NativeTiRtc.tiCloudStorageReplayStartRawDump(identity.objectId, audio, video);
|
|
457
|
+
return result.code === 0 && result.dumpId !== null
|
|
458
|
+
? { success: true, code: null, message: null, data: createRawDumpFromNative(result.dumpId) }
|
|
459
|
+
: recordingFailure(result.code);
|
|
460
|
+
}
|
|
377
461
|
stop() {
|
|
462
|
+
if (this.inCallback)
|
|
463
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
378
464
|
const code = this.command(NativeTiRtc.tiCloudStorageReplayStop);
|
|
379
465
|
if (code === 0)
|
|
380
466
|
this.currentTime = null;
|
|
@@ -382,6 +468,8 @@ export class TiCloudStorageReplay {
|
|
|
382
468
|
return code;
|
|
383
469
|
}
|
|
384
470
|
dispose() {
|
|
471
|
+
if (this.inCallback)
|
|
472
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
385
473
|
if (this.disposed)
|
|
386
474
|
return 0;
|
|
387
475
|
if (this.identity === null) {
|
|
@@ -389,6 +477,7 @@ export class TiCloudStorageReplay {
|
|
|
389
477
|
this.onTimeChanged = null;
|
|
390
478
|
this.onError = null;
|
|
391
479
|
this.onCompleted = null;
|
|
480
|
+
this.onRecordingGap = null;
|
|
392
481
|
return 0;
|
|
393
482
|
}
|
|
394
483
|
const identity = this.identity;
|
|
@@ -401,6 +490,7 @@ export class TiCloudStorageReplay {
|
|
|
401
490
|
this.onTimeChanged = null;
|
|
402
491
|
this.onError = null;
|
|
403
492
|
this.onCompleted = null;
|
|
493
|
+
this.onRecordingGap = null;
|
|
404
494
|
}
|
|
405
495
|
tiCloudStorageLogOutcome('replay_dispose', code);
|
|
406
496
|
return code;
|
|
@@ -429,14 +519,22 @@ export class TiCloudStorageReplay {
|
|
|
429
519
|
return this.identity;
|
|
430
520
|
}
|
|
431
521
|
handleEvent(event) {
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
522
|
+
this.inCallback = true;
|
|
523
|
+
try {
|
|
524
|
+
if (event.type === 'tiCloudStorageReplayTimeChanged' && event.timestampMs !== undefined) {
|
|
525
|
+
this.currentTime = event.timestampMs;
|
|
526
|
+
this.onTimeChanged?.(event.timestampMs);
|
|
527
|
+
}
|
|
528
|
+
else if (event.type === 'tiCloudStorageReplayCompleted')
|
|
529
|
+
this.onCompleted?.();
|
|
530
|
+
else if (event.type === 'tiCloudStorageReplayError')
|
|
531
|
+
this.onError?.(event.code ?? TI_CLOUD_STORAGE_ERROR_UNAVAILABLE);
|
|
532
|
+
else if (event.type === 'tiCloudStorageReplayRecordingGap' && event.recordingGap !== undefined)
|
|
533
|
+
this.onRecordingGap?.(recordingGapFromNative(event.recordingGap));
|
|
534
|
+
}
|
|
535
|
+
finally {
|
|
536
|
+
this.inCallback = false;
|
|
435
537
|
}
|
|
436
|
-
else if (event.type === 'tiCloudStorageReplayCompleted')
|
|
437
|
-
this.onCompleted?.();
|
|
438
|
-
else if (event.type === 'tiCloudStorageReplayError')
|
|
439
|
-
this.onError?.(event.code ?? TI_CLOUD_STORAGE_ERROR_UNAVAILABLE);
|
|
440
538
|
}
|
|
441
539
|
}
|
|
442
540
|
function nativeReplayIdentity(replay) {
|
|
@@ -674,40 +772,94 @@ export class TiCloudStorageRecordingTask {
|
|
|
674
772
|
}
|
|
675
773
|
}
|
|
676
774
|
export class TiCloudStorageExportTask {
|
|
677
|
-
constructor(taskId, owner,
|
|
775
|
+
constructor(taskId, generation, owner, observer) {
|
|
678
776
|
this.taskId = taskId;
|
|
679
777
|
this.owner = owner;
|
|
680
|
-
this.
|
|
681
|
-
this.
|
|
778
|
+
this.currentProgressDetail = { fraction: 0, coveredDurationMs: 0 };
|
|
779
|
+
this.currentReport = null;
|
|
780
|
+
this.terminal = false;
|
|
781
|
+
this.identity = { objectId: taskId, generation };
|
|
782
|
+
this.observer = typeof observer === 'function' ? { onProgress: observer } : (observer ?? {});
|
|
783
|
+
registerNativeEventHandler(this.identity, (event) => this.handleEvent(event));
|
|
784
|
+
this.completionPromise = NativeTiRtc.tiCloudStorageExportResult(taskId).then((result) => {
|
|
785
|
+
if (result.progressDetail != null) {
|
|
786
|
+
const progress = exportProgressFromNative(result.progressDetail);
|
|
787
|
+
this.currentProgressDetail = {
|
|
788
|
+
fraction: Math.max(this.currentProgressDetail.fraction, progress.fraction),
|
|
789
|
+
coveredDurationMs: Math.max(this.currentProgressDetail.coveredDurationMs, progress.coveredDurationMs),
|
|
790
|
+
};
|
|
791
|
+
}
|
|
792
|
+
this.terminal = true;
|
|
793
|
+
unregisterNativeEventHandler(this.identity);
|
|
682
794
|
tiCloudStorageLogOutcome('export_terminal', result.code, ` duration_ms=${result.durationMs ?? 0}`);
|
|
683
|
-
|
|
684
|
-
?
|
|
685
|
-
:
|
|
795
|
+
const file = result.fileId !== null && result.filePath !== null && result.durationMs !== null
|
|
796
|
+
? new RecordingFile(result.filePath, result.durationMs, result.fileId)
|
|
797
|
+
: null;
|
|
798
|
+
this.currentReport = result.report === null ? null : exportReportFromNative(result.report);
|
|
799
|
+
if (this.currentReport !== null) {
|
|
800
|
+
this.currentProgressDetail = {
|
|
801
|
+
fraction: this.currentProgressDetail.fraction,
|
|
802
|
+
coveredDurationMs: this.currentReport.coveredDurationMs,
|
|
803
|
+
};
|
|
804
|
+
}
|
|
805
|
+
return { code: result.code, file, report: this.currentReport };
|
|
686
806
|
});
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
const progress = NativeTiRtc.tiCloudStorageExportProgress(taskId);
|
|
691
|
-
if (progress !== lastProgress) {
|
|
692
|
-
lastProgress = progress;
|
|
693
|
-
onProgress(progress);
|
|
694
|
-
}
|
|
695
|
-
}, 100);
|
|
696
|
-
const clear = () => clearInterval(timer);
|
|
697
|
-
void this.resultPromise.then(clear, clear);
|
|
698
|
-
}
|
|
807
|
+
this.resultPromise = this.completionPromise.then((outcome) => outcome.code === TI_CLOUD_STORAGE_ERROR_OK && outcome.file !== null
|
|
808
|
+
? success(outcome.file)
|
|
809
|
+
: recordingFailure(outcome.code));
|
|
699
810
|
}
|
|
700
811
|
get progress() {
|
|
701
812
|
void this.owner;
|
|
702
|
-
return
|
|
813
|
+
return this.progressDetail.fraction;
|
|
814
|
+
}
|
|
815
|
+
get progressDetail() {
|
|
816
|
+
if (this.terminal)
|
|
817
|
+
return this.currentProgressDetail;
|
|
818
|
+
const value = exportProgressFromNative(NativeTiRtc.tiCloudStorageExportProgressDetail(this.taskId));
|
|
819
|
+
this.currentProgressDetail = {
|
|
820
|
+
fraction: Math.max(this.currentProgressDetail.fraction, value.fraction),
|
|
821
|
+
coveredDurationMs: Math.max(this.currentProgressDetail.coveredDurationMs, value.coveredDurationMs),
|
|
822
|
+
};
|
|
823
|
+
return this.currentProgressDetail;
|
|
824
|
+
}
|
|
825
|
+
get report() {
|
|
826
|
+
return this.currentReport;
|
|
827
|
+
}
|
|
828
|
+
get completion() {
|
|
829
|
+
return this.completionPromise;
|
|
703
830
|
}
|
|
704
831
|
get result() {
|
|
705
832
|
return this.resultPromise;
|
|
706
833
|
}
|
|
834
|
+
cancel() {
|
|
835
|
+
if (this.terminal)
|
|
836
|
+
return TI_CLOUD_STORAGE_ERROR_OK;
|
|
837
|
+
const code = NativeTiRtc.tiCloudStorageExportCancel(this.taskId);
|
|
838
|
+
tiCloudStorageLogOutcome('export_cancel', code);
|
|
839
|
+
return code;
|
|
840
|
+
}
|
|
707
841
|
stop() {
|
|
842
|
+
if (this.terminal)
|
|
843
|
+
return this.resultPromise;
|
|
708
844
|
const code = NativeTiRtc.tiCloudStorageExportStop(this.taskId);
|
|
709
845
|
tiCloudStorageLogOutcome('export_stop', code);
|
|
710
846
|
return this.resultPromise;
|
|
711
847
|
}
|
|
848
|
+
handleEvent(event) {
|
|
849
|
+
if (this.terminal)
|
|
850
|
+
return;
|
|
851
|
+
if (event.type === 'tiCloudStorageExportProgress' && event.exportProgress !== undefined) {
|
|
852
|
+
const progress = exportProgressFromNative(event.exportProgress);
|
|
853
|
+
this.currentProgressDetail = {
|
|
854
|
+
fraction: Math.max(this.currentProgressDetail.fraction, progress.fraction),
|
|
855
|
+
coveredDurationMs: Math.max(this.currentProgressDetail.coveredDurationMs, progress.coveredDurationMs),
|
|
856
|
+
};
|
|
857
|
+
this.observer.onProgress?.(this.currentProgressDetail.fraction);
|
|
858
|
+
this.observer.onProgressDetail?.(this.currentProgressDetail);
|
|
859
|
+
}
|
|
860
|
+
else if (event.type === 'tiCloudStorageExportRecordingGap' && event.recordingGap !== undefined) {
|
|
861
|
+
this.observer.onRecordingGap?.(recordingGapFromNative(event.recordingGap));
|
|
862
|
+
}
|
|
863
|
+
}
|
|
712
864
|
}
|
|
713
865
|
//# sourceMappingURL=storage.js.map
|