tirtc-react-native 2.4.2 → 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 +140 -17
- 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 +142 -51
- 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 -0
- 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/logging_internal.js +16 -0
- package/lib/module/logging_internal.js.map +1 -1
- package/lib/module/raw_dump.js +53 -0
- package/lib/module/raw_dump.js.map +1 -0
- package/lib/module/runtime.js +3 -1
- package/lib/module/runtime.js.map +1 -1
- package/lib/module/specs/NativeTiRtc.js.map +1 -1
- package/lib/module/storage.js +190 -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/build_identity.d.ts +6 -0
- package/lib/typescript/conn.d.ts +2 -0
- package/lib/typescript/index.d.ts +5 -3
- package/lib/typescript/logging_internal.d.ts +1 -0
- package/lib/typescript/native.d.ts +1 -1
- package/lib/typescript/raw_dump.d.ts +35 -0
- package/lib/typescript/specs/NativeTiRtc.d.ts +75 -3
- package/lib/typescript/storage.d.ts +84 -3
- package/lib/typescript/types.d.ts +5 -6
- package/package.json +3 -3
- package/src/audio_input.ts +30 -11
- package/src/build_identity.ts +6 -0
- package/src/conn.ts +23 -0
- package/src/events.ts +14 -9
- package/src/index.ts +19 -1
- package/src/logging_internal.ts +18 -0
- package/src/native.ts +7 -1
- package/src/raw_dump.ts +84 -0
- package/src/runtime.ts +2 -1
- package/src/specs/NativeTiRtc.ts +80 -3
- package/src/storage.ts +260 -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"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { TiRtcLogging } from './logging';
|
|
2
|
+
import { NativeTiRtc } from './native';
|
|
3
|
+
import { buildIdentity } from './build_identity';
|
|
2
4
|
const rtcLogTag = 'TIRTC_REACT_NATIVE';
|
|
5
|
+
const loggedIdentityProducts = new Set();
|
|
6
|
+
export function logBuildIdentity(product) {
|
|
7
|
+
if (loggedIdentityProducts.has(product))
|
|
8
|
+
return;
|
|
9
|
+
try {
|
|
10
|
+
const code = NativeTiRtc.writeLog(1, rtcLogTag, '[build_identity] summary: component build identity; component=react_native ' +
|
|
11
|
+
`product=${product} release_version=${buildIdentity.releaseVersion} ` +
|
|
12
|
+
`build_time_utc=${buildIdentity.buildTimeUtc} source_revision=${buildIdentity.sourceRevision} ` +
|
|
13
|
+
`source_dirty=${buildIdentity.sourceDirty}`);
|
|
14
|
+
if (code === 0)
|
|
15
|
+
loggedIdentityProducts.add(product);
|
|
16
|
+
}
|
|
17
|
+
catch { }
|
|
18
|
+
}
|
|
3
19
|
export function logRtcOutcome(operation, code, details = '') {
|
|
4
20
|
const message = `[${operation}] completed code=${code}${details}`;
|
|
5
21
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging_internal.js","sourceRoot":"","sources":["../../src/logging_internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"logging_internal.js","sourceRoot":"","sources":["../../src/logging_internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,MAAM,SAAS,GAAG,oBAAoB,CAAC;AACvC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,IAAI,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAC/B,CAAC,EACD,SAAS,EACT,6EAA6E;YAC3E,WAAW,OAAO,oBAAoB,aAAa,CAAC,cAAc,GAAG;YACrE,kBAAkB,aAAa,CAAC,YAAY,oBAAoB,aAAa,CAAC,cAAc,GAAG;YAC/F,gBAAgB,aAAa,CAAC,WAAW,EAAE,CAC9C,CAAC;QACF,IAAI,IAAI,KAAK,CAAC;YAAE,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,IAAY,EAAE,OAAO,GAAG,EAAE;IACzE,MAAM,OAAO,GAAG,IAAI,SAAS,oBAAoB,IAAI,GAAG,OAAO,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,CAAC;YAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;YAC9C,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,KAAa,EAAE,IAAI,GAAG,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,SAAS,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,IAAI,IAAI,KAAK,CAAC;YAAE,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;YAC9C,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,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"}
|
package/lib/module/runtime.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isPlainObject, TIRTC_ERROR_INVALID_ARGUMENT } from './errors';
|
|
2
2
|
import { NativeTiRtc } from './native';
|
|
3
|
-
import { logRtcOutcome } from './logging_internal';
|
|
3
|
+
import { logBuildIdentity, logRtcOutcome } from './logging_internal';
|
|
4
4
|
export class TiRtc {
|
|
5
5
|
constructor() { }
|
|
6
6
|
static init(config) {
|
|
@@ -12,6 +12,8 @@ export class TiRtc {
|
|
|
12
12
|
endpoint: typeof config.endpoint === 'string' ? config.endpoint : '',
|
|
13
13
|
consoleLogEnabled: typeof config.consoleLogEnabled === 'boolean' ? config.consoleLogEnabled : false,
|
|
14
14
|
}).then((code) => {
|
|
15
|
+
if (code === 0)
|
|
16
|
+
logBuildIdentity('rtc');
|
|
15
17
|
logRtcOutcome('runtime_initialize', code);
|
|
16
18
|
return code;
|
|
17
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGnE,MAAM,OAAO,KAAK;IAChB,gBAAuB,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,MAAwB;QAClC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,WAAW,CAAC,UAAU,CAAC;YAC5B,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC3D,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACpE,iBAAiB,EAAE,OAAO,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK;SACpG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,KAAK,CAAC;gBAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,MAAwB;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,IAAY;QAC/B,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,SAAS,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -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
|
@@ -3,9 +3,11 @@ import { View } from 'react-native';
|
|
|
3
3
|
import { isFiniteSafeInteger, isPlainObject, isUInt8, normalizeCreateResult, } from './errors';
|
|
4
4
|
import { registerNativeEventHandler, unregisterNativeEventHandler } from './events';
|
|
5
5
|
import { TiRtcLogging } from './logging';
|
|
6
|
-
import {
|
|
6
|
+
import { logBuildIdentity } from './logging_internal';
|
|
7
|
+
import { NativeTiRtc, NativeTiRtcVideoOutputView, } from './native';
|
|
7
8
|
import { clearNativeIdentity, readNativeIdentity, setNativeIdentity, subscribeNativeIdentity, } from './native_object_id';
|
|
8
9
|
import { NativeMediaFileBase, recordingFailure } from './recording';
|
|
10
|
+
import { createRawDumpFromNative, normalizeRawDumpIds, } from './raw_dump';
|
|
9
11
|
export const TI_CLOUD_STORAGE_ERROR_OK = 0;
|
|
10
12
|
export const TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT = 6000;
|
|
11
13
|
export const TI_CLOUD_STORAGE_ERROR_NOT_INITIALIZED = 6001;
|
|
@@ -30,6 +32,27 @@ export const TI_CLOUD_STORAGE_ERROR_UNAVAILABLE = 6123;
|
|
|
30
32
|
export const TI_CLOUD_STORAGE_ERROR_STOPPED = 6124;
|
|
31
33
|
export const TI_CLOUD_STORAGE_ERROR_RECORDING_NOT_FOUND = 6134;
|
|
32
34
|
export const TI_CLOUD_STORAGE_ERROR_RECORDING_DOWNLOAD_FAILED = 6135;
|
|
35
|
+
export const TI_CLOUD_STORAGE_ERROR_NETWORK_UNAVAILABLE = 6136;
|
|
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
|
+
};
|
|
33
56
|
export const TiCloudStorageReplaySpeed = {
|
|
34
57
|
x0_125: 'x0_125',
|
|
35
58
|
x0_25: 'x0_25',
|
|
@@ -80,6 +103,34 @@ function success(data) {
|
|
|
80
103
|
function validTime(value) {
|
|
81
104
|
return isFiniteSafeInteger(value) && value >= 0;
|
|
82
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
|
+
}
|
|
83
134
|
function speedToNative(speed) {
|
|
84
135
|
switch (speed) {
|
|
85
136
|
case TiCloudStorageReplaySpeed.x0_125:
|
|
@@ -151,6 +202,7 @@ export class TiCloudStorage {
|
|
|
151
202
|
this.token = token;
|
|
152
203
|
this.identity = null;
|
|
153
204
|
this.disposed = false;
|
|
205
|
+
this.pendingAsyncOperations = 0;
|
|
154
206
|
}
|
|
155
207
|
static init(options) {
|
|
156
208
|
if (!isPlainObject(options) || typeof options.appId !== 'string' || options.appId.length === 0) {
|
|
@@ -162,6 +214,8 @@ export class TiCloudStorage {
|
|
|
162
214
|
endpoint: options.endpoint ?? '',
|
|
163
215
|
consoleLogEnabled: options.consoleLogEnabled ?? false,
|
|
164
216
|
}).then((code) => {
|
|
217
|
+
if (code === 0)
|
|
218
|
+
logBuildIdentity('cloud_storage');
|
|
165
219
|
tiCloudStorageLogOutcome('cloud_storage_initialize', code);
|
|
166
220
|
return code;
|
|
167
221
|
});
|
|
@@ -200,10 +254,10 @@ export class TiCloudStorage {
|
|
|
200
254
|
return Promise.resolve({ code: identity, recordings: [] });
|
|
201
255
|
}
|
|
202
256
|
TiRtcLogging.i(tiCloudStorageLogTag, `[recording_list] outcome=started range_duration_ms=${endTimeMs - startTimeMs}`);
|
|
203
|
-
return NativeTiRtc.tiCloudStorageListRecordings(identity.objectId, startTimeMs, endTimeMs).then((result) => {
|
|
257
|
+
return this.trackAsyncOperation(() => NativeTiRtc.tiCloudStorageListRecordings(identity.objectId, startTimeMs, endTimeMs).then((result) => {
|
|
204
258
|
tiCloudStorageLogOutcome('recording_list', result.code, ` recording_count=${result.recordings.length}`);
|
|
205
259
|
return result;
|
|
206
|
-
});
|
|
260
|
+
}));
|
|
207
261
|
}
|
|
208
262
|
listRecordingDays(startDate, endDate, timeZoneId = 'Asia/Shanghai') {
|
|
209
263
|
if (typeof startDate !== 'string' ||
|
|
@@ -218,15 +272,15 @@ export class TiCloudStorage {
|
|
|
218
272
|
return Promise.resolve({ code: identity, days: [] });
|
|
219
273
|
}
|
|
220
274
|
TiRtcLogging.i(tiCloudStorageLogTag, '[recording_days_list] outcome=started');
|
|
221
|
-
return NativeTiRtc.tiCloudStorageListRecordingDays(identity.objectId, startDate, endDate, timeZoneId).then((result) => {
|
|
275
|
+
return this.trackAsyncOperation(() => NativeTiRtc.tiCloudStorageListRecordingDays(identity.objectId, startDate, endDate, timeZoneId).then((result) => {
|
|
222
276
|
tiCloudStorageLogOutcome('recording_days_list', result.code, ` day_count=${result.days.length}`);
|
|
223
277
|
return result;
|
|
224
|
-
});
|
|
278
|
+
}));
|
|
225
279
|
}
|
|
226
280
|
createReplay() {
|
|
227
281
|
return new TiCloudStorageReplay(this);
|
|
228
282
|
}
|
|
229
|
-
exportRecording(options,
|
|
283
|
+
exportRecording(options, observer) {
|
|
230
284
|
if (!validTime(options.startTimeMs) ||
|
|
231
285
|
!validTime(options.endTimeMs) ||
|
|
232
286
|
options.endTimeMs <= options.startTimeMs ||
|
|
@@ -240,12 +294,14 @@ export class TiCloudStorage {
|
|
|
240
294
|
const result = NativeTiRtc.tiCloudStorageExportRecording(identity.objectId, options.startTimeMs, options.endTimeMs, options.videoChannelId, options.audioChannelId ?? null);
|
|
241
295
|
tiCloudStorageLogOutcome('export_start', result.code, ` range_duration_ms=${options.endTimeMs - options.startTimeMs}`);
|
|
242
296
|
return result.code === 0 && result.taskId !== null
|
|
243
|
-
? success(new TiCloudStorageExportTask(result.taskId, this,
|
|
297
|
+
? success(new TiCloudStorageExportTask(result.taskId, result.generation, this, observer))
|
|
244
298
|
: recordingFailure(result.code);
|
|
245
299
|
}
|
|
246
300
|
dispose() {
|
|
247
301
|
if (this.disposed)
|
|
248
302
|
return 0;
|
|
303
|
+
if (this.pendingAsyncOperations > 0)
|
|
304
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
249
305
|
if (this.identity === null) {
|
|
250
306
|
this.disposed = true;
|
|
251
307
|
this.token = '';
|
|
@@ -262,6 +318,18 @@ export class TiCloudStorage {
|
|
|
262
318
|
}
|
|
263
319
|
return code;
|
|
264
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
|
+
}
|
|
265
333
|
ensureIdentity() {
|
|
266
334
|
if (this.disposed)
|
|
267
335
|
return TI_CLOUD_STORAGE_ERROR_NOT_INITIALIZED;
|
|
@@ -288,11 +356,13 @@ export class TiCloudStorageReplay {
|
|
|
288
356
|
this.cloudStorage = cloudStorage;
|
|
289
357
|
this.identity = null;
|
|
290
358
|
this.disposed = false;
|
|
359
|
+
this.inCallback = false;
|
|
291
360
|
this.currentSpeed = 'x1';
|
|
292
361
|
this.currentTime = null;
|
|
293
362
|
this.onTimeChanged = null;
|
|
294
363
|
this.onError = null;
|
|
295
364
|
this.onCompleted = null;
|
|
365
|
+
this.onRecordingGap = null;
|
|
296
366
|
}
|
|
297
367
|
get speed() {
|
|
298
368
|
if (this.identity !== null) {
|
|
@@ -311,6 +381,8 @@ export class TiCloudStorageReplay {
|
|
|
311
381
|
return this.currentTime;
|
|
312
382
|
}
|
|
313
383
|
play(startTimeMs, endTimeMs, initialTimeMs) {
|
|
384
|
+
if (this.inCallback)
|
|
385
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
314
386
|
if (!validTime(startTimeMs) ||
|
|
315
387
|
!validTime(endTimeMs) ||
|
|
316
388
|
endTimeMs <= startTimeMs ||
|
|
@@ -335,6 +407,8 @@ export class TiCloudStorageReplay {
|
|
|
335
407
|
return code;
|
|
336
408
|
}
|
|
337
409
|
seek(timeMs) {
|
|
410
|
+
if (this.inCallback)
|
|
411
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
338
412
|
if (!validTime(timeMs))
|
|
339
413
|
return TI_CLOUD_STORAGE_ERROR_INVALID_ARGUMENT;
|
|
340
414
|
const identity = this.ensureIdentity();
|
|
@@ -369,7 +443,24 @@ export class TiCloudStorageReplay {
|
|
|
369
443
|
? success(new TiCloudStorageRecordingTask(result.taskId, this))
|
|
370
444
|
: recordingFailure(result.code);
|
|
371
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
|
+
}
|
|
372
461
|
stop() {
|
|
462
|
+
if (this.inCallback)
|
|
463
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
373
464
|
const code = this.command(NativeTiRtc.tiCloudStorageReplayStop);
|
|
374
465
|
if (code === 0)
|
|
375
466
|
this.currentTime = null;
|
|
@@ -377,6 +468,8 @@ export class TiCloudStorageReplay {
|
|
|
377
468
|
return code;
|
|
378
469
|
}
|
|
379
470
|
dispose() {
|
|
471
|
+
if (this.inCallback)
|
|
472
|
+
return TI_CLOUD_STORAGE_ERROR_IN_USE;
|
|
380
473
|
if (this.disposed)
|
|
381
474
|
return 0;
|
|
382
475
|
if (this.identity === null) {
|
|
@@ -384,6 +477,7 @@ export class TiCloudStorageReplay {
|
|
|
384
477
|
this.onTimeChanged = null;
|
|
385
478
|
this.onError = null;
|
|
386
479
|
this.onCompleted = null;
|
|
480
|
+
this.onRecordingGap = null;
|
|
387
481
|
return 0;
|
|
388
482
|
}
|
|
389
483
|
const identity = this.identity;
|
|
@@ -396,6 +490,7 @@ export class TiCloudStorageReplay {
|
|
|
396
490
|
this.onTimeChanged = null;
|
|
397
491
|
this.onError = null;
|
|
398
492
|
this.onCompleted = null;
|
|
493
|
+
this.onRecordingGap = null;
|
|
399
494
|
}
|
|
400
495
|
tiCloudStorageLogOutcome('replay_dispose', code);
|
|
401
496
|
return code;
|
|
@@ -424,14 +519,22 @@ export class TiCloudStorageReplay {
|
|
|
424
519
|
return this.identity;
|
|
425
520
|
}
|
|
426
521
|
handleEvent(event) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
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;
|
|
430
537
|
}
|
|
431
|
-
else if (event.type === 'tiCloudStorageReplayCompleted')
|
|
432
|
-
this.onCompleted?.();
|
|
433
|
-
else if (event.type === 'tiCloudStorageReplayError')
|
|
434
|
-
this.onError?.(event.code ?? TI_CLOUD_STORAGE_ERROR_UNAVAILABLE);
|
|
435
538
|
}
|
|
436
539
|
}
|
|
437
540
|
function nativeReplayIdentity(replay) {
|
|
@@ -669,40 +772,94 @@ export class TiCloudStorageRecordingTask {
|
|
|
669
772
|
}
|
|
670
773
|
}
|
|
671
774
|
export class TiCloudStorageExportTask {
|
|
672
|
-
constructor(taskId, owner,
|
|
775
|
+
constructor(taskId, generation, owner, observer) {
|
|
673
776
|
this.taskId = taskId;
|
|
674
777
|
this.owner = owner;
|
|
675
|
-
this.
|
|
676
|
-
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);
|
|
677
794
|
tiCloudStorageLogOutcome('export_terminal', result.code, ` duration_ms=${result.durationMs ?? 0}`);
|
|
678
|
-
|
|
679
|
-
?
|
|
680
|
-
:
|
|
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 };
|
|
681
806
|
});
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
const progress = NativeTiRtc.tiCloudStorageExportProgress(taskId);
|
|
686
|
-
if (progress !== lastProgress) {
|
|
687
|
-
lastProgress = progress;
|
|
688
|
-
onProgress(progress);
|
|
689
|
-
}
|
|
690
|
-
}, 100);
|
|
691
|
-
const clear = () => clearInterval(timer);
|
|
692
|
-
void this.resultPromise.then(clear, clear);
|
|
693
|
-
}
|
|
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));
|
|
694
810
|
}
|
|
695
811
|
get progress() {
|
|
696
812
|
void this.owner;
|
|
697
|
-
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;
|
|
698
830
|
}
|
|
699
831
|
get result() {
|
|
700
832
|
return this.resultPromise;
|
|
701
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
|
+
}
|
|
702
841
|
stop() {
|
|
842
|
+
if (this.terminal)
|
|
843
|
+
return this.resultPromise;
|
|
703
844
|
const code = NativeTiRtc.tiCloudStorageExportStop(this.taskId);
|
|
704
845
|
tiCloudStorageLogOutcome('export_stop', code);
|
|
705
846
|
return this.resultPromise;
|
|
706
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
|
+
}
|
|
707
864
|
}
|
|
708
865
|
//# sourceMappingURL=storage.js.map
|