@arfuhad/react-native-smart-camera 0.1.2 → 0.1.5

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 (265) hide show
  1. package/CHANGELOG.md +75 -3
  2. package/README.md +259 -206
  3. package/android/build.gradle +14 -39
  4. package/android/src/main/java/com/smartcamera/FaceDetectorFrameProcessorPlugin.kt +324 -0
  5. package/android/src/main/java/com/smartcamera/SmartCameraPackage.kt +28 -0
  6. package/build/detection/blinkProcessor.js +2 -1
  7. package/build/detection/blinkProcessor.js.map +1 -1
  8. package/build/detection/faceDetector.d.ts +4 -4
  9. package/build/detection/faceDetector.d.ts.map +1 -1
  10. package/build/detection/faceDetector.js +31 -11
  11. package/build/detection/faceDetector.js.map +1 -1
  12. package/build/detection/index.d.ts +1 -1
  13. package/build/detection/index.d.ts.map +1 -1
  14. package/build/detection/index.js +1 -1
  15. package/build/detection/index.js.map +1 -1
  16. package/build/detection/staticImageDetector.d.ts +11 -11
  17. package/build/detection/staticImageDetector.d.ts.map +1 -1
  18. package/build/detection/staticImageDetector.js +19 -23
  19. package/build/detection/staticImageDetector.js.map +1 -1
  20. package/build/hooks/index.d.ts +6 -0
  21. package/build/hooks/index.d.ts.map +1 -1
  22. package/build/hooks/index.js +8 -0
  23. package/build/hooks/index.js.map +1 -1
  24. package/build/hooks/useBlinkDetection.d.ts +27 -16
  25. package/build/hooks/useBlinkDetection.d.ts.map +1 -1
  26. package/build/hooks/useBlinkDetection.js +63 -37
  27. package/build/hooks/useBlinkDetection.js.map +1 -1
  28. package/build/hooks/useFaceDetection.js +3 -2
  29. package/build/hooks/useFaceDetection.js.map +1 -1
  30. package/build/hooks/useFaceDetector.d.ts +123 -0
  31. package/build/hooks/useFaceDetector.d.ts.map +1 -0
  32. package/build/hooks/useFaceDetector.js +133 -0
  33. package/build/hooks/useFaceDetector.js.map +1 -0
  34. package/build/hooks/useSmartCamera.js.map +1 -1
  35. package/build/hooks/useSmartCameraWebRTC.d.ts +3 -5
  36. package/build/hooks/useSmartCameraWebRTC.d.ts.map +1 -1
  37. package/build/hooks/useSmartCameraWebRTC.js +19 -87
  38. package/build/hooks/useSmartCameraWebRTC.js.map +1 -1
  39. package/build/hooks/useWebRTC.d.ts +88 -0
  40. package/build/hooks/useWebRTC.d.ts.map +1 -0
  41. package/build/hooks/useWebRTC.js +394 -0
  42. package/build/hooks/useWebRTC.js.map +1 -0
  43. package/build/hooks/useWebRTCWithDetection.d.ts +89 -0
  44. package/build/hooks/useWebRTCWithDetection.d.ts.map +1 -0
  45. package/build/hooks/useWebRTCWithDetection.js +131 -0
  46. package/build/hooks/useWebRTCWithDetection.js.map +1 -0
  47. package/build/index.d.ts +24 -10
  48. package/build/index.d.ts.map +1 -1
  49. package/build/index.js +38 -13
  50. package/build/index.js.map +1 -1
  51. package/build/types.d.ts +28 -12
  52. package/build/types.d.ts.map +1 -1
  53. package/build/types.js.map +1 -1
  54. package/build/utils/index.js.map +1 -1
  55. package/build/webrtc/WebRTCBridge.d.ts +3 -0
  56. package/build/webrtc/WebRTCBridge.d.ts.map +1 -1
  57. package/build/webrtc/WebRTCBridge.js +12 -15
  58. package/build/webrtc/WebRTCBridge.js.map +1 -1
  59. package/build/webrtc/WebRTCManager.d.ts +148 -0
  60. package/build/webrtc/WebRTCManager.d.ts.map +1 -0
  61. package/build/webrtc/WebRTCManager.js +383 -0
  62. package/build/webrtc/WebRTCManager.js.map +1 -0
  63. package/build/webrtc/index.d.ts +3 -1
  64. package/build/webrtc/index.d.ts.map +1 -1
  65. package/build/webrtc/index.js +5 -0
  66. package/build/webrtc/index.js.map +1 -1
  67. package/build/webrtc/types.d.ts +212 -4
  68. package/build/webrtc/types.d.ts.map +1 -1
  69. package/build/webrtc/types.js +34 -1
  70. package/build/webrtc/types.js.map +1 -1
  71. package/ios/FaceDetectorFrameProcessorPlugin.m +11 -0
  72. package/ios/FaceDetectorFrameProcessorPlugin.swift +304 -0
  73. package/package.json +11 -11
  74. package/react-native-smart-camera.podspec +32 -0
  75. package/src/detection/blinkProcessor.ts +127 -0
  76. package/src/detection/faceDetector.ts +78 -0
  77. package/src/detection/index.ts +3 -0
  78. package/src/detection/staticImageDetector.ts +53 -0
  79. package/src/hooks/index.ts +26 -0
  80. package/src/hooks/useBlinkDetection.ts +127 -0
  81. package/src/hooks/useFaceDetection.ts +105 -0
  82. package/src/hooks/useFaceDetector.ts +191 -0
  83. package/src/hooks/useSmartCamera.ts +83 -0
  84. package/src/hooks/useSmartCameraWebRTC.ts +120 -0
  85. package/src/hooks/useWebRTC.ts +453 -0
  86. package/src/hooks/useWebRTCWithDetection.ts +181 -0
  87. package/src/index.ts +170 -0
  88. package/src/types.ts +636 -0
  89. package/src/utils/index.ts +355 -0
  90. package/src/webrtc/WebRTCBridge.ts +127 -0
  91. package/src/webrtc/WebRTCManager.ts +453 -0
  92. package/src/webrtc/index.ts +50 -0
  93. package/src/webrtc/types.ts +361 -0
  94. package/android/build/.transforms/e0a0b120a9ccc3a8de4f5784bc36b161/results.bin +0 -1
  95. package/android/build/.transforms/e0a0b120a9ccc3a8de4f5784bc36b161/transformed/classes/classes_dex/classes.dex +0 -0
  96. package/android/build/generated/source/buildConfig/debug/expo/modules/smartcamera/BuildConfig.java +0 -10
  97. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -7
  98. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +0 -18
  99. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +0 -6
  100. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  101. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  102. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  103. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -0
  104. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  105. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  106. package/android/build/intermediates/java_res/debug/out/META-INF/arfuhad-react-native-smart-camera_debug.kotlin_module +0 -0
  107. package/android/build/intermediates/javac/debug/classes/expo/modules/smartcamera/BuildConfig.class +0 -0
  108. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -2
  109. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -7
  110. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +0 -7
  111. package/android/build/intermediates/navigation_json/debug/navigation.json +0 -1
  112. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  113. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  172. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  173. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  174. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  175. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  176. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  177. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  178. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  179. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  180. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  181. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  182. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  183. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  184. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  185. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  186. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  187. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  188. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  189. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  190. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  191. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  192. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  193. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  194. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  195. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  196. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  197. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  198. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  199. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  200. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  201. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  202. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -16
  203. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  204. package/android/build/tmp/kotlin-classes/debug/META-INF/arfuhad-react-native-smart-camera_debug.kotlin_module +0 -0
  205. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/DetectedFace.class +0 -0
  206. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/FaceBounds.class +0 -0
  207. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/FaceContoursData.class +0 -0
  208. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/FaceDetectionOptions.class +0 -0
  209. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/FaceLandmarksData.class +0 -0
  210. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/ImageLoader$Companion.class +0 -0
  211. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/ImageLoader$loadImage$2.class +0 -0
  212. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/ImageLoader.class +0 -0
  213. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/MLKitFaceDetector$detectFaces$2$1.class +0 -0
  214. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/MLKitFaceDetector$detectFaces$2$2.class +0 -0
  215. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/MLKitFaceDetector.class +0 -0
  216. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/MLKitFaceDetectorKt$sam$com_google_android_gms_tasks_OnSuccessListener$0.class +0 -0
  217. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/MLKitFaceDetectorKt.class +0 -0
  218. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/PointData.class +0 -0
  219. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$Companion.class +0 -0
  220. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$1$1$1.class +0 -0
  221. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$1$3$1.class +0 -0
  222. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$1$4$1.class +0 -0
  223. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunction$1.class +0 -0
  224. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunction$2.class +0 -0
  225. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunction$3.class +0 -0
  226. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$1.class +0 -0
  227. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$2.class +0 -0
  228. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$3.class +0 -0
  229. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$4.class +0 -0
  230. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$Function$1.class +0 -0
  231. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$Function$2.class +0 -0
  232. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$Function$3.class +0 -0
  233. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$Function$4.class +0 -0
  234. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$FunctionWithoutArgs$1.class +0 -0
  235. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$FunctionWithoutArgs$2.class +0 -0
  236. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$OnActivityEntersBackground$1.class +0 -0
  237. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$OnActivityEntersForeground$1.class +0 -0
  238. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule$definition$lambda$10$$inlined$OnDestroy$1.class +0 -0
  239. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraModule.class +0 -0
  240. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/SmartCameraView.class +0 -0
  241. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/WebRTCFrameBridge$Companion.class +0 -0
  242. package/android/build/tmp/kotlin-classes/debug/expo/modules/smartcamera/WebRTCFrameBridge.class +0 -0
  243. package/android/src/main/java/expo/modules/smartcamera/ImageLoader.kt +0 -106
  244. package/android/src/main/java/expo/modules/smartcamera/MLKitFaceDetector.kt +0 -273
  245. package/android/src/main/java/expo/modules/smartcamera/SmartCameraModule.kt +0 -205
  246. package/android/src/main/java/expo/modules/smartcamera/SmartCameraView.kt +0 -153
  247. package/android/src/main/java/expo/modules/smartcamera/WebRTCFrameBridge.kt +0 -184
  248. package/build/SmartCamera.d.ts +0 -17
  249. package/build/SmartCamera.d.ts.map +0 -1
  250. package/build/SmartCamera.js +0 -270
  251. package/build/SmartCamera.js.map +0 -1
  252. package/build/SmartCameraModule.d.ts +0 -112
  253. package/build/SmartCameraModule.d.ts.map +0 -1
  254. package/build/SmartCameraModule.js +0 -121
  255. package/build/SmartCameraModule.js.map +0 -1
  256. package/build/SmartCameraView.d.ts +0 -8
  257. package/build/SmartCameraView.d.ts.map +0 -1
  258. package/build/SmartCameraView.js +0 -7
  259. package/build/SmartCameraView.js.map +0 -1
  260. package/expo-module.config.json +0 -9
  261. package/ios/MLKitFaceDetector.swift +0 -310
  262. package/ios/SmartCamera.podspec +0 -33
  263. package/ios/SmartCameraModule.swift +0 -225
  264. package/ios/SmartCameraView.swift +0 -146
  265. package/ios/WebRTCFrameBridge.swift +0 -150
@@ -0,0 +1,383 @@
1
+ /**
2
+ * WebRTC Manager for SmartCamera
3
+ *
4
+ * This class provides utilities for managing WebRTC peer connections,
5
+ * media streams, and video calling functionality.
6
+ *
7
+ * Requires react-native-webrtc to be installed in the app.
8
+ */
9
+ // Import from react-native-webrtc (peer dependency)
10
+ let RTCPeerConnection;
11
+ let RTCSessionDescription;
12
+ let RTCIceCandidate;
13
+ let mediaDevices;
14
+ // Lazy load react-native-webrtc to avoid errors when not installed
15
+ function loadWebRTC() {
16
+ if (RTCPeerConnection)
17
+ return true;
18
+ try {
19
+ const webrtc = require('react-native-webrtc');
20
+ RTCPeerConnection = webrtc.RTCPeerConnection;
21
+ RTCSessionDescription = webrtc.RTCSessionDescription;
22
+ RTCIceCandidate = webrtc.RTCIceCandidate;
23
+ mediaDevices = webrtc.mediaDevices;
24
+ return true;
25
+ }
26
+ catch (error) {
27
+ console.error('[WebRTCManager] react-native-webrtc is not installed. ' +
28
+ 'Please install it: npm install react-native-webrtc');
29
+ return false;
30
+ }
31
+ }
32
+ /**
33
+ * Check if WebRTC is available
34
+ */
35
+ export function isWebRTCAvailable() {
36
+ return loadWebRTC();
37
+ }
38
+ /**
39
+ * WebRTC Manager class for handling peer connections and media streams
40
+ */
41
+ export class WebRTCManager {
42
+ constructor(config) {
43
+ this.peerConnection = null;
44
+ this.localStream = null;
45
+ this.remoteStream = null;
46
+ this.iceCandidateCallback = null;
47
+ this.remoteStreamCallback = null;
48
+ this.connectionStateCallback = null;
49
+ this.iceConnectionStateCallback = null;
50
+ this.config = config || {
51
+ iceServers: [
52
+ { urls: 'stun:stun.l.google.com:19302' },
53
+ { urls: 'stun:stun1.l.google.com:19302' },
54
+ ],
55
+ iceTransportPolicy: 'all',
56
+ bundlePolicy: 'balanced',
57
+ };
58
+ }
59
+ // ==========================================================================
60
+ // Local Stream Management
61
+ // ==========================================================================
62
+ /**
63
+ * Get local media stream (camera + microphone)
64
+ *
65
+ * @param constraints - Media constraints for video/audio
66
+ * @returns Promise resolving to MediaStream
67
+ */
68
+ async getLocalStream(constraints) {
69
+ if (!loadWebRTC()) {
70
+ throw new Error('react-native-webrtc is not available');
71
+ }
72
+ const defaultConstraints = {
73
+ video: {
74
+ width: { ideal: 1280 },
75
+ height: { ideal: 720 },
76
+ frameRate: { ideal: 30 },
77
+ facingMode: 'user',
78
+ },
79
+ audio: {
80
+ echoCancellation: true,
81
+ noiseSuppression: true,
82
+ autoGainControl: true,
83
+ },
84
+ };
85
+ const mergedConstraints = Object.assign(Object.assign({}, defaultConstraints), constraints);
86
+ try {
87
+ const stream = await mediaDevices.getUserMedia(mergedConstraints);
88
+ this.localStream = stream;
89
+ return stream;
90
+ }
91
+ catch (error) {
92
+ console.error('[WebRTCManager] Failed to get local stream:', error);
93
+ throw error;
94
+ }
95
+ }
96
+ /**
97
+ * Stop the local media stream
98
+ */
99
+ stopLocalStream() {
100
+ if (this.localStream) {
101
+ this.localStream.getTracks().forEach((track) => {
102
+ track.stop();
103
+ });
104
+ this.localStream = null;
105
+ }
106
+ }
107
+ /**
108
+ * Get the current local stream
109
+ */
110
+ getLocalStreamInstance() {
111
+ return this.localStream;
112
+ }
113
+ /**
114
+ * Switch between front and back camera
115
+ */
116
+ async switchCamera() {
117
+ if (!this.localStream) {
118
+ throw new Error('No local stream available');
119
+ }
120
+ const videoTrack = this.localStream.getVideoTracks()[0];
121
+ if (videoTrack && typeof videoTrack._switchCamera === 'function') {
122
+ videoTrack._switchCamera();
123
+ }
124
+ else {
125
+ throw new Error('Camera switch not supported');
126
+ }
127
+ }
128
+ /**
129
+ * Toggle video track on/off
130
+ *
131
+ * @param enabled - Whether video should be enabled
132
+ */
133
+ toggleVideo(enabled) {
134
+ if (this.localStream) {
135
+ this.localStream.getVideoTracks().forEach((track) => {
136
+ track.enabled = enabled;
137
+ });
138
+ }
139
+ }
140
+ /**
141
+ * Toggle audio track on/off
142
+ *
143
+ * @param enabled - Whether audio should be enabled
144
+ */
145
+ toggleAudio(enabled) {
146
+ if (this.localStream) {
147
+ this.localStream.getAudioTracks().forEach((track) => {
148
+ track.enabled = enabled;
149
+ });
150
+ }
151
+ }
152
+ // ==========================================================================
153
+ // Peer Connection Management
154
+ // ==========================================================================
155
+ /**
156
+ * Create a new peer connection
157
+ *
158
+ * @param config - Optional peer connection configuration
159
+ * @returns The created RTCPeerConnection
160
+ */
161
+ createPeerConnection(config) {
162
+ if (!loadWebRTC()) {
163
+ throw new Error('react-native-webrtc is not available');
164
+ }
165
+ const pcConfig = config || this.config;
166
+ const pc = new RTCPeerConnection(pcConfig);
167
+ this.peerConnection = pc;
168
+ this.setupPeerConnectionListeners();
169
+ return pc;
170
+ }
171
+ /**
172
+ * Get the current peer connection
173
+ */
174
+ getPeerConnection() {
175
+ return this.peerConnection;
176
+ }
177
+ /**
178
+ * Close the peer connection
179
+ */
180
+ closePeerConnection() {
181
+ if (this.peerConnection) {
182
+ this.peerConnection.close();
183
+ this.peerConnection = null;
184
+ }
185
+ this.remoteStream = null;
186
+ }
187
+ /**
188
+ * Setup listeners for peer connection events
189
+ */
190
+ setupPeerConnectionListeners() {
191
+ if (!this.peerConnection)
192
+ return;
193
+ // Handle ICE candidates
194
+ this.peerConnection.onicecandidate = (event) => {
195
+ var _a, _b;
196
+ if (this.iceCandidateCallback) {
197
+ this.iceCandidateCallback({
198
+ candidate: event.candidate,
199
+ sdpMid: (_a = event.candidate) === null || _a === void 0 ? void 0 : _a.sdpMid,
200
+ sdpMLineIndex: (_b = event.candidate) === null || _b === void 0 ? void 0 : _b.sdpMLineIndex,
201
+ });
202
+ }
203
+ };
204
+ // Handle remote stream
205
+ this.peerConnection.ontrack = (event) => {
206
+ if (event.streams && event.streams[0]) {
207
+ const stream = event.streams[0];
208
+ this.remoteStream = stream;
209
+ if (this.remoteStreamCallback) {
210
+ this.remoteStreamCallback(stream);
211
+ }
212
+ }
213
+ };
214
+ // Handle connection state changes
215
+ this.peerConnection.onconnectionstatechange = () => {
216
+ if (this.connectionStateCallback && this.peerConnection) {
217
+ this.connectionStateCallback(this.peerConnection.connectionState);
218
+ }
219
+ };
220
+ // Handle ICE connection state changes
221
+ this.peerConnection.oniceconnectionstatechange = () => {
222
+ if (this.iceConnectionStateCallback && this.peerConnection) {
223
+ this.iceConnectionStateCallback(this.peerConnection.iceConnectionState);
224
+ }
225
+ };
226
+ }
227
+ /**
228
+ * Add local stream to peer connection
229
+ *
230
+ * @param stream - The local MediaStream to add
231
+ */
232
+ addLocalStream(stream) {
233
+ if (!this.peerConnection) {
234
+ throw new Error('Peer connection not created');
235
+ }
236
+ stream.getTracks().forEach((track) => {
237
+ this.peerConnection.addTrack(track, stream);
238
+ });
239
+ }
240
+ /**
241
+ * Get the remote stream
242
+ */
243
+ getRemoteStream() {
244
+ return this.remoteStream;
245
+ }
246
+ // ==========================================================================
247
+ // Signaling Helpers
248
+ // ==========================================================================
249
+ /**
250
+ * Create an SDP offer
251
+ *
252
+ * @returns Promise resolving to SessionDescription
253
+ */
254
+ async createOffer() {
255
+ var _a;
256
+ if (!this.peerConnection) {
257
+ throw new Error('Peer connection not created');
258
+ }
259
+ const offer = await this.peerConnection.createOffer({
260
+ offerToReceiveAudio: true,
261
+ offerToReceiveVideo: true,
262
+ });
263
+ await this.peerConnection.setLocalDescription(offer);
264
+ return {
265
+ type: 'offer',
266
+ sdp: (_a = offer.sdp) !== null && _a !== void 0 ? _a : '',
267
+ };
268
+ }
269
+ /**
270
+ * Create an SDP answer
271
+ *
272
+ * @returns Promise resolving to SessionDescription
273
+ */
274
+ async createAnswer() {
275
+ var _a;
276
+ if (!this.peerConnection) {
277
+ throw new Error('Peer connection not created');
278
+ }
279
+ const answer = await this.peerConnection.createAnswer();
280
+ await this.peerConnection.setLocalDescription(answer);
281
+ return {
282
+ type: 'answer',
283
+ sdp: (_a = answer.sdp) !== null && _a !== void 0 ? _a : '',
284
+ };
285
+ }
286
+ /**
287
+ * Set the remote SDP description
288
+ *
289
+ * @param description - The remote SessionDescription
290
+ */
291
+ async setRemoteDescription(description) {
292
+ if (!this.peerConnection) {
293
+ throw new Error('Peer connection not created');
294
+ }
295
+ if (!loadWebRTC()) {
296
+ throw new Error('react-native-webrtc is not available');
297
+ }
298
+ const rtcDescription = new RTCSessionDescription(description);
299
+ await this.peerConnection.setRemoteDescription(rtcDescription);
300
+ }
301
+ /**
302
+ * Add an ICE candidate from remote peer
303
+ *
304
+ * @param candidate - The ICE candidate to add
305
+ */
306
+ async addIceCandidate(candidate) {
307
+ if (!this.peerConnection) {
308
+ throw new Error('Peer connection not created');
309
+ }
310
+ if (!loadWebRTC()) {
311
+ throw new Error('react-native-webrtc is not available');
312
+ }
313
+ const iceCandidate = new RTCIceCandidate(candidate);
314
+ await this.peerConnection.addIceCandidate(iceCandidate);
315
+ }
316
+ // ==========================================================================
317
+ // Event Callbacks
318
+ // ==========================================================================
319
+ /**
320
+ * Register callback for ICE candidates
321
+ *
322
+ * @param callback - Function to call when ICE candidate is generated
323
+ */
324
+ onIceCandidate(callback) {
325
+ this.iceCandidateCallback = callback;
326
+ }
327
+ /**
328
+ * Register callback for remote stream
329
+ *
330
+ * @param callback - Function to call when remote stream is received
331
+ */
332
+ onRemoteStream(callback) {
333
+ this.remoteStreamCallback = callback;
334
+ }
335
+ /**
336
+ * Register callback for connection state changes
337
+ *
338
+ * @param callback - Function to call when connection state changes
339
+ */
340
+ onConnectionStateChange(callback) {
341
+ this.connectionStateCallback = callback;
342
+ }
343
+ /**
344
+ * Register callback for ICE connection state changes
345
+ *
346
+ * @param callback - Function to call when ICE connection state changes
347
+ */
348
+ onIceConnectionStateChange(callback) {
349
+ this.iceConnectionStateCallback = callback;
350
+ }
351
+ // ==========================================================================
352
+ // Cleanup
353
+ // ==========================================================================
354
+ /**
355
+ * Clean up all resources
356
+ */
357
+ cleanup() {
358
+ this.stopLocalStream();
359
+ this.closePeerConnection();
360
+ this.iceCandidateCallback = null;
361
+ this.remoteStreamCallback = null;
362
+ this.connectionStateCallback = null;
363
+ this.iceConnectionStateCallback = null;
364
+ }
365
+ }
366
+ // Singleton instance for convenience
367
+ let managerInstance = null;
368
+ /**
369
+ * Get the shared WebRTC manager instance
370
+ */
371
+ export function getWebRTCManager(config) {
372
+ if (!managerInstance) {
373
+ managerInstance = new WebRTCManager(config);
374
+ }
375
+ return managerInstance;
376
+ }
377
+ /**
378
+ * Create a new WebRTC manager instance
379
+ */
380
+ export function createWebRTCManager(config) {
381
+ return new WebRTCManager(config);
382
+ }
383
+ //# sourceMappingURL=WebRTCManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCManager.js","sourceRoot":"","sources":["../../src/webrtc/WebRTCManager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export { WebRTCManager, getWebRTCManager, createWebRTCManager, isWebRTCAvailable, } from './WebRTCManager';
1
2
  export { WebRTCBridge, getWebRTCBridge } from './WebRTCBridge';
2
- export type { VideoFrameFormat, WebRTCVideoSourceConfig, WebRTCConnectionState, WebRTCStreamStats, WebRTCQualitySettings, WebRTCStreamEvent, } from './types';
3
+ export type { ICEServer, PeerConnectionConfig, VideoConstraints, AudioConstraints, MediaConstraints, CallState, WebRTCConnectionState, ICEConnectionState, ICEGatheringState, SignalingState, VideoFrameFormat, WebRTCVideoSourceConfig, WebRTCStreamStats, WebRTCQualitySettings, WebRTCStreamEvent, ICECandidateEvent, SessionDescription, UseWebRTCOptions, UseWebRTCResult, UseWebRTCWithDetectionOptions, } from './types';
4
+ export { DEFAULT_ICE_SERVERS, DEFAULT_PEER_CONNECTION_CONFIG, DEFAULT_MEDIA_CONSTRAINTS, } from './types';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webrtc/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAG/D,YAAY,EAEV,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAGhB,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EAGd,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EAGrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAGlB,gBAAgB,EAChB,eAAe,EACf,6BAA6B,GAC9B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
@@ -1,2 +1,7 @@
1
+ // WebRTC Manager
2
+ export { WebRTCManager, getWebRTCManager, createWebRTCManager, isWebRTCAvailable, } from './WebRTCManager';
3
+ // Legacy Bridge (deprecated, use WebRTCManager instead)
1
4
  export { WebRTCBridge, getWebRTCBridge } from './WebRTCBridge';
5
+ // Default configurations
6
+ export { DEFAULT_ICE_SERVERS, DEFAULT_PEER_CONNECTION_CONFIG, DEFAULT_MEDIA_CONSTRAINTS, } from './types';
2
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { WebRTCBridge, getWebRTCBridge } from './WebRTCBridge';\nexport type {\n VideoFrameFormat,\n WebRTCVideoSourceConfig,\n WebRTCConnectionState,\n WebRTCStreamStats,\n WebRTCQualitySettings,\n WebRTCStreamEvent,\n} from './types';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,wDAAwD;AACxD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAmC/D,yBAAyB;AACzB,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
@@ -1,6 +1,95 @@
1
1
  /**
2
2
  * WebRTC-related types for the SmartCamera module
3
3
  */
4
+ /**
5
+ * ICE server configuration for STUN/TURN servers
6
+ */
7
+ export interface ICEServer {
8
+ /** STUN/TURN server URLs */
9
+ urls: string | string[];
10
+ /** Username for TURN authentication */
11
+ username?: string;
12
+ /** Credential for TURN authentication */
13
+ credential?: string;
14
+ }
15
+ /**
16
+ * Peer connection configuration
17
+ */
18
+ export interface PeerConnectionConfig {
19
+ /** ICE servers (STUN/TURN) */
20
+ iceServers?: ICEServer[];
21
+ /** ICE transport policy */
22
+ iceTransportPolicy?: 'all' | 'relay';
23
+ /** Bundle policy */
24
+ bundlePolicy?: 'balanced' | 'max-bundle' | 'max-compat';
25
+ /** RTCP mux policy */
26
+ rtcpMuxPolicy?: 'require';
27
+ }
28
+ /**
29
+ * Video constraints for getUserMedia
30
+ */
31
+ export interface VideoConstraints {
32
+ /** Frame width in pixels */
33
+ width?: number | {
34
+ min?: number;
35
+ ideal?: number;
36
+ max?: number;
37
+ };
38
+ /** Frame height in pixels */
39
+ height?: number | {
40
+ min?: number;
41
+ ideal?: number;
42
+ max?: number;
43
+ };
44
+ /** Target frame rate */
45
+ frameRate?: number | {
46
+ min?: number;
47
+ ideal?: number;
48
+ max?: number;
49
+ };
50
+ /** Camera facing mode */
51
+ facingMode?: 'user' | 'environment';
52
+ }
53
+ /**
54
+ * Audio constraints for getUserMedia
55
+ */
56
+ export interface AudioConstraints {
57
+ /** Enable echo cancellation */
58
+ echoCancellation?: boolean;
59
+ /** Enable noise suppression */
60
+ noiseSuppression?: boolean;
61
+ /** Enable auto gain control */
62
+ autoGainControl?: boolean;
63
+ }
64
+ /**
65
+ * Media stream constraints
66
+ */
67
+ export interface MediaConstraints {
68
+ /** Video constraints (false to disable video) */
69
+ video?: boolean | VideoConstraints;
70
+ /** Audio constraints (false to disable audio) */
71
+ audio?: boolean | AudioConstraints;
72
+ }
73
+ /**
74
+ * WebRTC call state
75
+ */
76
+ export type CallState = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected' | 'failed';
77
+ /**
78
+ * WebRTC connection state (maps to RTCPeerConnectionState)
79
+ */
80
+ export type WebRTCConnectionState = 'new' | 'connecting' | 'connected' | 'disconnected' | 'failed' | 'closed';
81
+ /**
82
+ * ICE connection state
83
+ */
84
+ export type ICEConnectionState = 'new' | 'checking' | 'connected' | 'completed' | 'failed' | 'disconnected' | 'closed';
85
+ /**
86
+ * ICE gathering state
87
+ */
88
+ export type ICEGatheringState = 'new' | 'gathering' | 'complete';
89
+ /**
90
+ * Signaling state
91
+ */
92
+ export type SignalingState = 'stable' | 'have-local-offer' | 'have-remote-offer' | 'have-local-pranswer' | 'have-remote-pranswer' | 'closed';
4
93
  /**
5
94
  * Video frame format for WebRTC
6
95
  */
@@ -18,10 +107,6 @@ export interface WebRTCVideoSourceConfig {
18
107
  /** Video frame format. Default: 'I420' */
19
108
  format?: VideoFrameFormat;
20
109
  }
21
- /**
22
- * WebRTC connection state
23
- */
24
- export type WebRTCConnectionState = 'new' | 'connecting' | 'connected' | 'disconnected' | 'failed' | 'closed';
25
110
  /**
26
111
  * WebRTC stream statistics
27
112
  */
@@ -38,6 +123,10 @@ export interface WebRTCStreamStats {
38
123
  bitrate: number;
39
124
  /** Round-trip time in ms */
40
125
  rtt?: number;
126
+ /** Packets lost */
127
+ packetsLost?: number;
128
+ /** Jitter in ms */
129
+ jitter?: number;
41
130
  }
42
131
  /**
43
132
  * WebRTC stream quality settings
@@ -61,4 +150,123 @@ export interface WebRTCStreamEvent {
61
150
  error?: Error;
62
151
  stats?: WebRTCStreamStats;
63
152
  }
153
+ /**
154
+ * ICE candidate event data
155
+ */
156
+ export interface ICECandidateEvent {
157
+ /** The ICE candidate */
158
+ candidate: RTCIceCandidate | null;
159
+ /** SDP mid */
160
+ sdpMid?: string | null;
161
+ /** SDP m-line index */
162
+ sdpMLineIndex?: number | null;
163
+ }
164
+ /**
165
+ * Session description for signaling
166
+ */
167
+ export interface SessionDescription {
168
+ /** Type of description (offer/answer) */
169
+ type: 'offer' | 'answer';
170
+ /** SDP string */
171
+ sdp: string;
172
+ }
173
+ /**
174
+ * Options for useWebRTC hook
175
+ */
176
+ export interface UseWebRTCOptions {
177
+ /** Peer connection configuration */
178
+ config?: PeerConnectionConfig;
179
+ /** Media constraints for local stream */
180
+ mediaConstraints?: MediaConstraints;
181
+ /** Initial camera facing mode */
182
+ initialCamera?: 'front' | 'back';
183
+ /** Auto-start local stream when hook mounts */
184
+ autoStartLocalStream?: boolean;
185
+ /** Callback when call state changes */
186
+ onCallStateChange?: (state: CallState) => void;
187
+ /** Callback when connection state changes */
188
+ onConnectionStateChange?: (state: WebRTCConnectionState) => void;
189
+ /** Callback when ICE connection state changes */
190
+ onIceConnectionStateChange?: (state: ICEConnectionState) => void;
191
+ /** Callback when remote stream is received */
192
+ onRemoteStream?: (stream: MediaStream) => void;
193
+ /** Callback when remote stream is removed */
194
+ onRemoteStreamRemoved?: () => void;
195
+ /** Callback when an error occurs */
196
+ onError?: (error: Error) => void;
197
+ }
198
+ /**
199
+ * Result type for useWebRTC hook
200
+ */
201
+ export interface UseWebRTCResult {
202
+ /** Local media stream (camera + microphone) */
203
+ localStream: MediaStream | null;
204
+ /** Remote media stream from peer */
205
+ remoteStream: MediaStream | null;
206
+ /** Current call state */
207
+ callState: CallState;
208
+ /** Whether local audio is enabled */
209
+ isAudioEnabled: boolean;
210
+ /** Whether local video is enabled */
211
+ isVideoEnabled: boolean;
212
+ /** Current camera facing mode */
213
+ currentCamera: 'front' | 'back';
214
+ /** Peer connection instance */
215
+ peerConnection: RTCPeerConnection | null;
216
+ /** Start local camera/microphone stream */
217
+ startLocalStream: () => Promise<void>;
218
+ /** Stop local stream */
219
+ stopLocalStream: () => void;
220
+ /** Switch between front and back camera */
221
+ switchCamera: () => Promise<void>;
222
+ /** Toggle local audio on/off */
223
+ toggleAudio: () => void;
224
+ /** Toggle local video on/off */
225
+ toggleVideo: () => void;
226
+ /** Create a new peer connection */
227
+ createPeerConnection: (config?: PeerConnectionConfig) => RTCPeerConnection;
228
+ /** Close the peer connection */
229
+ closePeerConnection: () => void;
230
+ /** Create an SDP offer */
231
+ createOffer: () => Promise<SessionDescription>;
232
+ /** Create an SDP answer */
233
+ createAnswer: () => Promise<SessionDescription>;
234
+ /** Set the remote SDP description */
235
+ setRemoteDescription: (description: SessionDescription) => Promise<void>;
236
+ /** Add an ICE candidate from remote peer */
237
+ addIceCandidate: (candidate: RTCIceCandidate) => Promise<void>;
238
+ /** Register callback for ICE candidates to send to remote peer */
239
+ onIceCandidate: (callback: (candidate: ICECandidateEvent) => void) => void;
240
+ /** Clean up all resources */
241
+ cleanup: () => void;
242
+ }
243
+ /**
244
+ * Options for useWebRTCWithDetection hook
245
+ */
246
+ export interface UseWebRTCWithDetectionOptions extends UseWebRTCOptions {
247
+ /** Face detection options */
248
+ faceDetection?: {
249
+ enabled?: boolean;
250
+ performanceMode?: 'fast' | 'accurate';
251
+ landmarkMode?: 'none' | 'all';
252
+ classificationMode?: 'none' | 'all';
253
+ };
254
+ /** Eye tracking options */
255
+ eyeTracking?: {
256
+ enabled?: boolean;
257
+ eyeClosedThreshold?: number;
258
+ };
259
+ }
260
+ /**
261
+ * Default ICE servers (Google STUN servers)
262
+ */
263
+ export declare const DEFAULT_ICE_SERVERS: ICEServer[];
264
+ /**
265
+ * Default peer connection configuration
266
+ */
267
+ export declare const DEFAULT_PEER_CONNECTION_CONFIG: PeerConnectionConfig;
268
+ /**
269
+ * Default media constraints
270
+ */
271
+ export declare const DEFAULT_MEDIA_CONSTRAINTS: MediaConstraints;
64
272
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webrtc/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IAEd,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,KAAK,GACL,YAAY,GACZ,WAAW,GACX,cAAc,GACd,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IAEtB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/webrtc/types.ts"],"names":[],"mappings":"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"}