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.
Files changed (71) 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 +140 -17
  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 +142 -51
  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 -0
  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/logging_internal.js +16 -0
  37. package/lib/module/logging_internal.js.map +1 -1
  38. package/lib/module/raw_dump.js +53 -0
  39. package/lib/module/raw_dump.js.map +1 -0
  40. package/lib/module/runtime.js +3 -1
  41. package/lib/module/runtime.js.map +1 -1
  42. package/lib/module/specs/NativeTiRtc.js.map +1 -1
  43. package/lib/module/storage.js +190 -33
  44. package/lib/module/storage.js.map +1 -1
  45. package/lib/module/types.js +0 -4
  46. package/lib/module/types.js.map +1 -1
  47. package/lib/module/video_input.js +16 -6
  48. package/lib/module/video_input.js.map +1 -1
  49. package/lib/typescript/build_identity.d.ts +6 -0
  50. package/lib/typescript/conn.d.ts +2 -0
  51. package/lib/typescript/index.d.ts +5 -3
  52. package/lib/typescript/logging_internal.d.ts +1 -0
  53. package/lib/typescript/native.d.ts +1 -1
  54. package/lib/typescript/raw_dump.d.ts +35 -0
  55. package/lib/typescript/specs/NativeTiRtc.d.ts +75 -3
  56. package/lib/typescript/storage.d.ts +84 -3
  57. package/lib/typescript/types.d.ts +5 -6
  58. package/package.json +3 -3
  59. package/src/audio_input.ts +30 -11
  60. package/src/build_identity.ts +6 -0
  61. package/src/conn.ts +23 -0
  62. package/src/events.ts +14 -9
  63. package/src/index.ts +19 -1
  64. package/src/logging_internal.ts +18 -0
  65. package/src/native.ts +7 -1
  66. package/src/raw_dump.ts +84 -0
  67. package/src/runtime.ts +2 -1
  68. package/src/specs/NativeTiRtc.ts +80 -3
  69. package/src/storage.ts +260 -39
  70. package/src/types.ts +5 -8
  71. 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, 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,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"}
@@ -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;AAEvC,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,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"}
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"}
@@ -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;AAGjD,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,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
+ {"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;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"}
@@ -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 { NativeTiRtc, NativeTiRtcVideoOutputView } from './native';
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, onProgress) {
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, onProgress))
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
- if (event.type === 'tiCloudStorageReplayTimeChanged' && event.timestampMs !== undefined) {
428
- this.currentTime = event.timestampMs;
429
- 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;
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, onProgress) {
775
+ constructor(taskId, generation, owner, observer) {
673
776
  this.taskId = taskId;
674
777
  this.owner = owner;
675
- this.onProgress = onProgress;
676
- 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);
677
794
  tiCloudStorageLogOutcome('export_terminal', result.code, ` duration_ms=${result.durationMs ?? 0}`);
678
- return result.code === 0 && result.fileId !== null && result.filePath !== null && result.durationMs !== null
679
- ? success(new RecordingFile(result.filePath, result.durationMs, result.fileId))
680
- : 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 };
681
806
  });
682
- if (onProgress !== undefined) {
683
- let lastProgress = -1;
684
- const timer = setInterval(() => {
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 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;
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