tirtc-react-native 2.5.0-alpha.1 → 2.5.2

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 (62) hide show
  1. package/README.md +39 -6
  2. package/TiRtcReactNative.podspec +1 -1
  3. package/android/build.gradle +1 -1
  4. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcModule.kt +137 -14
  5. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeCleanup.kt +54 -19
  6. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeCloudStorageCallbacks.kt +60 -0
  7. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeEventBinder.kt +2 -0
  8. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeEventSink.kt +20 -0
  9. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeMaps.kt +112 -5
  10. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeOptions.kt +2 -7
  11. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeRegistry.kt +3 -0
  12. package/android/src/main/java/com/tange/ai/tirtc/reactnative/TiRtcReactNativeStorageSupport.kt +46 -22
  13. package/ios/TiRtcReactNative+Conn.mm +61 -0
  14. package/ios/TiRtcReactNative+Output.mm +1 -7
  15. package/ios/TiRtcReactNative+Private.h +1 -0
  16. package/ios/TiRtcReactNative+Storage.mm +133 -35
  17. package/ios/TiRtcReactNative.mm +137 -48
  18. package/ios/TiRtcReactNativeCloudStorageCallbacks.h +13 -0
  19. package/ios/TiRtcReactNativeCloudStorageCallbacks.mm +67 -0
  20. package/ios/TiRtcReactNativeEventBinder.h +4 -0
  21. package/ios/TiRtcReactNativeEventBinder.mm +11 -0
  22. package/ios/TiRtcReactNativeEventSink.h +5 -0
  23. package/ios/TiRtcReactNativeEventSink.mm +18 -0
  24. package/ios/TiRtcReactNativeMaps.h +6 -0
  25. package/ios/TiRtcReactNativeMaps.mm +47 -0
  26. package/ios/TiRtcReactNativeOptions.mm +2 -6
  27. package/lib/module/audio_input.js +23 -4
  28. package/lib/module/audio_input.js.map +1 -1
  29. package/lib/module/build_identity.js +1 -1
  30. package/lib/module/conn.js +19 -0
  31. package/lib/module/conn.js.map +1 -1
  32. package/lib/module/events.js +16 -9
  33. package/lib/module/events.js.map +1 -1
  34. package/lib/module/index.js +3 -2
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/raw_dump.js +53 -0
  37. package/lib/module/raw_dump.js.map +1 -0
  38. package/lib/module/specs/NativeTiRtc.js.map +1 -1
  39. package/lib/module/storage.js +185 -33
  40. package/lib/module/storage.js.map +1 -1
  41. package/lib/module/types.js +0 -4
  42. package/lib/module/types.js.map +1 -1
  43. package/lib/module/video_input.js +16 -6
  44. package/lib/module/video_input.js.map +1 -1
  45. package/lib/typescript/conn.d.ts +2 -0
  46. package/lib/typescript/index.d.ts +5 -3
  47. package/lib/typescript/native.d.ts +1 -1
  48. package/lib/typescript/raw_dump.d.ts +35 -0
  49. package/lib/typescript/specs/NativeTiRtc.d.ts +74 -2
  50. package/lib/typescript/storage.d.ts +82 -3
  51. package/lib/typescript/types.d.ts +5 -6
  52. package/package.json +2 -2
  53. package/src/audio_input.ts +30 -11
  54. package/src/conn.ts +23 -0
  55. package/src/events.ts +14 -9
  56. package/src/index.ts +17 -1
  57. package/src/native.ts +7 -1
  58. package/src/raw_dump.ts +84 -0
  59. package/src/specs/NativeTiRtc.ts +79 -2
  60. package/src/storage.ts +256 -39
  61. package/src/types.ts +5 -8
  62. package/src/video_input.ts +22 -12
@@ -1 +1 @@
1
- {"version":3,"file":"conn.js","sourceRoot":"","sources":["../../src/conn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conn.js","sourceRoot":"","sources":["../../src/conn.ts"],"names":[],"mappings":"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"}
@@ -10,19 +10,26 @@ function ensureSubscribed() {
10
10
  return;
11
11
  }
12
12
  subscription = NativeTiRtc.onTiRtcEvent((event) => {
13
- if (!isPositiveInt32(event.objectId) || !isPositiveInt32(event.generation)) {
14
- return;
15
- }
16
- const handler = handlers.get(eventKey({
17
- objectId: event.objectId,
18
- generation: event.generation,
19
- }));
20
- if (handler !== undefined) {
21
- handler(event);
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();
@@ -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,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC,CAAC,CAAC;QACJ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;IACH,CAAC,CAAC,CAAC;AACL,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"}
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"}
@@ -1,4 +1,4 @@
1
- export { TiRtcOutputBufferStrategy, TiRtcConnState, TiRtcInputState, TiRtcAudioCodec, TiRtcAudioSampleRate, TiRtcAudioChannelCount, TiRtcAudioAecMode, TiRtcAudioAgcLevel, TiRtcAudioAnsLevel, TiRtcVideoCodec, TiRtcVideoEncoderCodec, TiRtcVideoFrameRate, TiRtcCameraFacing, TiRtcVideoDecoderPreference, TiRtcVideoDecoderBackend, TiRtcVideoBitstreamFormat, TiRtcAudioOutputState, TiRtcVideoOutputState, } from './types';
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 { 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, TiCloudStorageAudioOutputState, TiCloudStorageVideoOutputState, TiCloudStorage, TiCloudStorageReplay, TiCloudStorageAudioOutput, TiCloudStorageVideoOutput, TiCloudStorageVideoOutputView, TiCloudStorageRecordingTask, TiCloudStorageExportTask, } from './storage';
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
@@ -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,sBAAsB,EACtB,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;AAQ/C,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,8BAA8B,EAC9B,8BAA8B,EAC9B,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,WAAW,CAAC"}
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;AAyXjD,eAAe,mBAAmB,CAAC,YAAY,CAAO,OAAO,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"}
@@ -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, onProgress) {
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, onProgress))
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
- if (event.type === 'tiCloudStorageReplayTimeChanged' && event.timestampMs !== undefined) {
433
- this.currentTime = event.timestampMs;
434
- this.onTimeChanged?.(event.timestampMs);
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, onProgress) {
775
+ constructor(taskId, generation, owner, observer) {
678
776
  this.taskId = taskId;
679
777
  this.owner = owner;
680
- this.onProgress = onProgress;
681
- this.resultPromise = NativeTiRtc.tiCloudStorageExportResult(taskId).then((result) => {
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
- return result.code === 0 && result.fileId !== null && result.filePath !== null && result.durationMs !== null
684
- ? success(new RecordingFile(result.filePath, result.durationMs, result.fileId))
685
- : recordingFailure(result.code);
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
- if (onProgress !== undefined) {
688
- let lastProgress = -1;
689
- const timer = setInterval(() => {
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 NativeTiRtc.tiCloudStorageExportProgress(this.taskId);
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