@sbhjt-gr/react-native-webrtc 124.0.3 → 124.0.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 (361) hide show
  1. package/.clang-format +11 -11
  2. package/.eslintignore +6 -6
  3. package/.nvmrc +1 -1
  4. package/ISSUE_TEMPLATE.md +40 -40
  5. package/LICENSE +22 -22
  6. package/README.md +103 -103
  7. package/android/build.gradle +37 -37
  8. package/android/consumer-rules.pro +3 -3
  9. package/android/src/main/AndroidManifest.xml +11 -11
  10. package/android/src/main/java/com/oney/WebRTCModule/AbstractVideoCaptureController.java +113 -113
  11. package/android/src/main/java/com/oney/WebRTCModule/CameraCaptureController.java +338 -338
  12. package/android/src/main/java/com/oney/WebRTCModule/CameraEventsHandler.java +49 -49
  13. package/android/src/main/java/com/oney/WebRTCModule/DataChannelWrapper.java +99 -99
  14. package/android/src/main/java/com/oney/WebRTCModule/DataPacketCryptorManager.java +62 -62
  15. package/android/src/main/java/com/oney/WebRTCModule/DisplayUtils.java +16 -16
  16. package/android/src/main/java/com/oney/WebRTCModule/EglUtils.java +66 -66
  17. package/android/src/main/java/com/oney/WebRTCModule/GetUserMediaImpl.java +539 -539
  18. package/android/src/main/java/com/oney/WebRTCModule/LibraryLoader.java +21 -21
  19. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionNotification.java +70 -70
  20. package/android/src/main/java/com/oney/WebRTCModule/MediaProjectionService.java +82 -82
  21. package/android/src/main/java/com/oney/WebRTCModule/PeerConnectionObserver.java +588 -588
  22. package/android/src/main/java/com/oney/WebRTCModule/RTCCryptoManager.java +493 -493
  23. package/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java +98 -98
  24. package/android/src/main/java/com/oney/WebRTCModule/ReactBridgeUtil.java +35 -35
  25. package/android/src/main/java/com/oney/WebRTCModule/ScreenCaptureController.java +94 -94
  26. package/android/src/main/java/com/oney/WebRTCModule/SerializeUtils.java +342 -342
  27. package/android/src/main/java/com/oney/WebRTCModule/StringUtils.java +100 -100
  28. package/android/src/main/java/com/oney/WebRTCModule/ThreadUtils.java +41 -41
  29. package/android/src/main/java/com/oney/WebRTCModule/TrackCapturerEventsEmitter.java +34 -34
  30. package/android/src/main/java/com/oney/WebRTCModule/VideoTrackAdapter.java +137 -137
  31. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModule.java +1649 -1643
  32. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModuleOptions.java +33 -33
  33. package/android/src/main/java/com/oney/WebRTCModule/WebRTCModulePackage.java +21 -21
  34. package/android/src/main/java/com/oney/WebRTCModule/WebRTCView.java +583 -583
  35. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraClient.java +529 -501
  36. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraConfig.java +17 -17
  37. package/android/src/main/java/com/oney/WebRTCModule/palabra/PalabraListener.java +7 -7
  38. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/ProcessorProvider.java +38 -38
  39. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoEffectProcessor.java +59 -59
  40. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessor.java +19 -19
  41. package/android/src/main/java/com/oney/WebRTCModule/videoEffects/VideoFrameProcessorFactoryInterface.java +12 -12
  42. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoDecoderFactory.java +73 -73
  43. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/H264AndSoftwareVideoEncoderFactory.java +73 -73
  44. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoDecoderFactoryProxy.java +36 -36
  45. package/android/src/main/java/com/oney/WebRTCModule/webrtcutils/SoftwareVideoEncoderFactoryProxy.java +36 -36
  46. package/android/src/main/java/org/webrtc/Camera1Helper.java +54 -54
  47. package/android/src/main/java/org/webrtc/Camera2Helper.java +52 -52
  48. package/android/src/main/res/values/strings.xml +5 -5
  49. package/android/src/main/res/values/styles.xml +8 -8
  50. package/ios/RCTWebRTC/CaptureController.h +18 -18
  51. package/ios/RCTWebRTC/CaptureController.m +28 -28
  52. package/ios/RCTWebRTC/CapturerEventsDelegate.h +12 -12
  53. package/ios/RCTWebRTC/DataChannelWrapper.h +27 -27
  54. package/ios/RCTWebRTC/DataChannelWrapper.m +42 -42
  55. package/ios/RCTWebRTC/I420Converter.h +22 -22
  56. package/ios/RCTWebRTC/I420Converter.m +164 -164
  57. package/ios/RCTWebRTC/PIPController.h +24 -24
  58. package/ios/RCTWebRTC/PIPController.m +234 -234
  59. package/ios/RCTWebRTC/PalabraAudioSink.h +13 -13
  60. package/ios/RCTWebRTC/PalabraAudioSink.m +18 -18
  61. package/ios/RCTWebRTC/PalabraClient.h +42 -36
  62. package/ios/RCTWebRTC/PalabraClient.m +680 -644
  63. package/ios/RCTWebRTC/RCTConvert+WebRTC.h +16 -16
  64. package/ios/RCTWebRTC/RCTConvert+WebRTC.m +206 -206
  65. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.h +10 -10
  66. package/ios/RCTWebRTC/RTCMediaStreamTrack+React.m +16 -16
  67. package/ios/RCTWebRTC/RTCVideoViewManager.h +29 -29
  68. package/ios/RCTWebRTC/RTCVideoViewManager.m +411 -411
  69. package/ios/RCTWebRTC/SampleBufferVideoCallView.h +12 -12
  70. package/ios/RCTWebRTC/SampleBufferVideoCallView.m +178 -178
  71. package/ios/RCTWebRTC/ScreenCaptureController.h +20 -20
  72. package/ios/RCTWebRTC/ScreenCaptureController.m +82 -82
  73. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.h +7 -7
  74. package/ios/RCTWebRTC/ScreenCapturePickerViewManager.m +59 -59
  75. package/ios/RCTWebRTC/ScreenCapturer.h +19 -19
  76. package/ios/RCTWebRTC/ScreenCapturer.m +263 -263
  77. package/ios/RCTWebRTC/SerializeUtils.h +28 -28
  78. package/ios/RCTWebRTC/SerializeUtils.m +314 -314
  79. package/ios/RCTWebRTC/SocketConnection.h +13 -13
  80. package/ios/RCTWebRTC/SocketConnection.m +137 -137
  81. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.h +14 -14
  82. package/ios/RCTWebRTC/TrackCapturerEventsEmitter.m +36 -36
  83. package/ios/RCTWebRTC/VideoCaptureController.h +21 -21
  84. package/ios/RCTWebRTC/VideoCaptureController.m +328 -328
  85. package/ios/RCTWebRTC/WLVAudioDevice.h +12 -12
  86. package/ios/RCTWebRTC/WLVAudioDevice.m +137 -137
  87. package/ios/RCTWebRTC/WebRTCModule+Palabra.h +4 -4
  88. package/ios/RCTWebRTC/WebRTCModule+Palabra.m +92 -83
  89. package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -75
  90. package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -20
  91. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -14
  92. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -165
  93. package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -611
  94. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +13 -13
  95. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +728 -728
  96. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -24
  97. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -1004
  98. package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -267
  99. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -12
  100. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -166
  101. package/ios/RCTWebRTC/WebRTCModule.h +58 -58
  102. package/ios/RCTWebRTC/WebRTCModule.m +169 -169
  103. package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -24
  104. package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -31
  105. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -9
  106. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -23
  107. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -13
  108. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -23
  109. package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -8
  110. package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -404
  111. package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -10
  112. package/lib/commonjs/Constraints.js.map +1 -1
  113. package/lib/commonjs/EventEmitter.js.map +1 -1
  114. package/lib/commonjs/Logger.js.map +1 -1
  115. package/lib/commonjs/MediaDevices.js +17 -17
  116. package/lib/commonjs/MediaDevices.js.map +1 -1
  117. package/lib/commonjs/MediaStream.js +19 -19
  118. package/lib/commonjs/MediaStream.js.map +1 -1
  119. package/lib/commonjs/MediaStreamError.js.map +1 -1
  120. package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -1
  121. package/lib/commonjs/MediaStreamTrack.js +28 -28
  122. package/lib/commonjs/MediaStreamTrack.js.map +1 -1
  123. package/lib/commonjs/MediaStreamTrackEvent.js +6 -6
  124. package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -1
  125. package/lib/commonjs/MessageEvent.js +7 -7
  126. package/lib/commonjs/MessageEvent.js.map +1 -1
  127. package/lib/commonjs/Permissions.js +28 -28
  128. package/lib/commonjs/Permissions.js.map +1 -1
  129. package/lib/commonjs/RTCAudioSession.js +4 -4
  130. package/lib/commonjs/RTCAudioSession.js.map +1 -1
  131. package/lib/commonjs/RTCDataChannel.js +2 -2
  132. package/lib/commonjs/RTCDataChannel.js.map +1 -1
  133. package/lib/commonjs/RTCDataChannelEvent.js +6 -6
  134. package/lib/commonjs/RTCDataChannelEvent.js.map +1 -1
  135. package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -1
  136. package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -1
  137. package/lib/commonjs/RTCErrorEvent.js +3 -3
  138. package/lib/commonjs/RTCErrorEvent.js.map +1 -1
  139. package/lib/commonjs/RTCFrameCryptor.js +8 -8
  140. package/lib/commonjs/RTCFrameCryptor.js.map +1 -1
  141. package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -1
  142. package/lib/commonjs/RTCIceCandidate.js.map +1 -1
  143. package/lib/commonjs/RTCIceCandidateEvent.js +7 -7
  144. package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -1
  145. package/lib/commonjs/RTCKeyProvider.js.map +1 -1
  146. package/lib/commonjs/RTCPIPView.js +2 -2
  147. package/lib/commonjs/RTCPIPView.js.map +1 -1
  148. package/lib/commonjs/RTCPIPView.web.js.map +1 -1
  149. package/lib/commonjs/RTCPeerConnection.js +36 -36
  150. package/lib/commonjs/RTCPeerConnection.js.map +1 -1
  151. package/lib/commonjs/RTCRtcpParameters.js.map +1 -1
  152. package/lib/commonjs/RTCRtpCapabilities.js +2 -2
  153. package/lib/commonjs/RTCRtpCapabilities.js.map +1 -1
  154. package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -1
  155. package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -1
  156. package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -1
  157. package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -1
  158. package/lib/commonjs/RTCRtpParameters.js.map +1 -1
  159. package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -1
  160. package/lib/commonjs/RTCRtpReceiver.js +7 -7
  161. package/lib/commonjs/RTCRtpReceiver.js.map +1 -1
  162. package/lib/commonjs/RTCRtpSendParameters.js +3 -3
  163. package/lib/commonjs/RTCRtpSendParameters.js.map +1 -1
  164. package/lib/commonjs/RTCRtpSender.js +7 -7
  165. package/lib/commonjs/RTCRtpSender.js.map +1 -1
  166. package/lib/commonjs/RTCRtpTransceiver.js.map +1 -1
  167. package/lib/commonjs/RTCSessionDescription.js.map +1 -1
  168. package/lib/commonjs/RTCTrackEvent.js +6 -6
  169. package/lib/commonjs/RTCTrackEvent.js.map +1 -1
  170. package/lib/commonjs/RTCUtil.js +28 -28
  171. package/lib/commonjs/RTCUtil.js.map +1 -1
  172. package/lib/commonjs/RTCView.js +5 -5
  173. package/lib/commonjs/RTCView.js.map +1 -1
  174. package/lib/commonjs/RTCView.web.js.map +1 -1
  175. package/lib/commonjs/ScreenCapturePickerView.js.map +1 -1
  176. package/lib/commonjs/ScreenCapturePickerView.web.js.map +1 -1
  177. package/lib/commonjs/getDisplayMedia.js.map +1 -1
  178. package/lib/commonjs/getUserMedia.js.map +1 -1
  179. package/lib/commonjs/index.js.map +1 -1
  180. package/lib/commonjs/index.web.js.map +1 -1
  181. package/lib/commonjs/webStream.js.map +1 -1
  182. package/lib/module/Constraints.js.map +1 -1
  183. package/lib/module/EventEmitter.js.map +1 -1
  184. package/lib/module/Logger.js.map +1 -1
  185. package/lib/module/MediaDevices.js +17 -17
  186. package/lib/module/MediaDevices.js.map +1 -1
  187. package/lib/module/MediaStream.js +19 -19
  188. package/lib/module/MediaStream.js.map +1 -1
  189. package/lib/module/MediaStreamError.js.map +1 -1
  190. package/lib/module/MediaStreamErrorEvent.js.map +1 -1
  191. package/lib/module/MediaStreamTrack.js +28 -28
  192. package/lib/module/MediaStreamTrack.js.map +1 -1
  193. package/lib/module/MediaStreamTrackEvent.js +6 -6
  194. package/lib/module/MediaStreamTrackEvent.js.map +1 -1
  195. package/lib/module/MessageEvent.js +7 -7
  196. package/lib/module/MessageEvent.js.map +1 -1
  197. package/lib/module/Permissions.js +28 -28
  198. package/lib/module/Permissions.js.map +1 -1
  199. package/lib/module/RTCAudioSession.js +4 -4
  200. package/lib/module/RTCAudioSession.js.map +1 -1
  201. package/lib/module/RTCDataChannel.js +2 -2
  202. package/lib/module/RTCDataChannel.js.map +1 -1
  203. package/lib/module/RTCDataChannelEvent.js +6 -6
  204. package/lib/module/RTCDataChannelEvent.js.map +1 -1
  205. package/lib/module/RTCDataPacketCryptor.js.map +1 -1
  206. package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -1
  207. package/lib/module/RTCErrorEvent.js +3 -3
  208. package/lib/module/RTCErrorEvent.js.map +1 -1
  209. package/lib/module/RTCFrameCryptor.js +8 -8
  210. package/lib/module/RTCFrameCryptor.js.map +1 -1
  211. package/lib/module/RTCFrameCryptorFactory.js.map +1 -1
  212. package/lib/module/RTCIceCandidate.js.map +1 -1
  213. package/lib/module/RTCIceCandidateEvent.js +7 -7
  214. package/lib/module/RTCIceCandidateEvent.js.map +1 -1
  215. package/lib/module/RTCKeyProvider.js.map +1 -1
  216. package/lib/module/RTCPIPView.js +2 -2
  217. package/lib/module/RTCPIPView.js.map +1 -1
  218. package/lib/module/RTCPIPView.web.js.map +1 -1
  219. package/lib/module/RTCPeerConnection.js +36 -36
  220. package/lib/module/RTCPeerConnection.js.map +1 -1
  221. package/lib/module/RTCRtcpParameters.js.map +1 -1
  222. package/lib/module/RTCRtpCapabilities.js +2 -2
  223. package/lib/module/RTCRtpCapabilities.js.map +1 -1
  224. package/lib/module/RTCRtpCodecCapability.js.map +1 -1
  225. package/lib/module/RTCRtpCodecParameters.js.map +1 -1
  226. package/lib/module/RTCRtpEncodingParameters.js.map +1 -1
  227. package/lib/module/RTCRtpHeaderExtension.js.map +1 -1
  228. package/lib/module/RTCRtpParameters.js.map +1 -1
  229. package/lib/module/RTCRtpReceiveParameters.js.map +1 -1
  230. package/lib/module/RTCRtpReceiver.js +7 -7
  231. package/lib/module/RTCRtpReceiver.js.map +1 -1
  232. package/lib/module/RTCRtpSendParameters.js +3 -3
  233. package/lib/module/RTCRtpSendParameters.js.map +1 -1
  234. package/lib/module/RTCRtpSender.js +7 -7
  235. package/lib/module/RTCRtpSender.js.map +1 -1
  236. package/lib/module/RTCRtpTransceiver.js.map +1 -1
  237. package/lib/module/RTCSessionDescription.js.map +1 -1
  238. package/lib/module/RTCTrackEvent.js +6 -6
  239. package/lib/module/RTCTrackEvent.js.map +1 -1
  240. package/lib/module/RTCUtil.js +28 -28
  241. package/lib/module/RTCUtil.js.map +1 -1
  242. package/lib/module/RTCView.js +5 -5
  243. package/lib/module/RTCView.js.map +1 -1
  244. package/lib/module/RTCView.web.js.map +1 -1
  245. package/lib/module/ScreenCapturePickerView.js.map +1 -1
  246. package/lib/module/ScreenCapturePickerView.web.js.map +1 -1
  247. package/lib/module/getDisplayMedia.js.map +1 -1
  248. package/lib/module/getUserMedia.js.map +1 -1
  249. package/lib/module/index.js.map +1 -1
  250. package/lib/module/index.web.js.map +1 -1
  251. package/lib/module/webStream.js.map +1 -1
  252. package/lib/typescript/Constraints.d.ts +19 -19
  253. package/lib/typescript/EventEmitter.d.ts +6 -6
  254. package/lib/typescript/Logger.d.ts +13 -13
  255. package/lib/typescript/MediaDevices.d.ts +30 -30
  256. package/lib/typescript/MediaStream.d.ts +48 -48
  257. package/lib/typescript/MediaStreamError.d.ts +6 -6
  258. package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -6
  259. package/lib/typescript/MediaStreamTrack.d.ts +101 -101
  260. package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -19
  261. package/lib/typescript/MessageEvent.d.ts +20 -20
  262. package/lib/typescript/Permissions.d.ts +55 -55
  263. package/lib/typescript/RTCAudioSession.d.ts +10 -10
  264. package/lib/typescript/RTCDataChannel.d.ts +43 -43
  265. package/lib/typescript/RTCDataChannelEvent.d.ts +19 -19
  266. package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -12
  267. package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -6
  268. package/lib/typescript/RTCErrorEvent.d.ts +12 -12
  269. package/lib/typescript/RTCFrameCryptor.d.ts +47 -47
  270. package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -21
  271. package/lib/typescript/RTCIceCandidate.d.ts +17 -17
  272. package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -20
  273. package/lib/typescript/RTCKeyProvider.d.ts +21 -21
  274. package/lib/typescript/RTCPIPView.d.ts +15 -15
  275. package/lib/typescript/RTCPIPView.web.d.ts +13 -13
  276. package/lib/typescript/RTCPeerConnection.d.ts +117 -117
  277. package/lib/typescript/RTCRtcpParameters.d.ts +10 -10
  278. package/lib/typescript/RTCRtpCapabilities.d.ts +9 -9
  279. package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -7
  280. package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -16
  281. package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -23
  282. package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -12
  283. package/lib/typescript/RTCRtpParameters.d.ts +19 -19
  284. package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -4
  285. package/lib/typescript/RTCRtpReceiver.d.ts +21 -21
  286. package/lib/typescript/RTCRtpSendParameters.d.ts +20 -20
  287. package/lib/typescript/RTCRtpSender.d.ts +22 -22
  288. package/lib/typescript/RTCRtpTransceiver.d.ts +31 -31
  289. package/lib/typescript/RTCSessionDescription.d.ts +12 -12
  290. package/lib/typescript/RTCTrackEvent.d.ts +29 -29
  291. package/lib/typescript/RTCUtil.d.ts +37 -37
  292. package/lib/typescript/RTCView.d.ts +117 -117
  293. package/lib/typescript/RTCView.web.d.ts +25 -25
  294. package/lib/typescript/ScreenCapturePickerView.d.ts +2 -2
  295. package/lib/typescript/ScreenCapturePickerView.web.d.ts +1 -1
  296. package/lib/typescript/getDisplayMedia.d.ts +2 -2
  297. package/lib/typescript/getUserMedia.d.ts +7 -7
  298. package/lib/typescript/index.d.ts +22 -22
  299. package/lib/typescript/index.web.d.ts +101 -101
  300. package/lib/typescript/webStream.d.ts +3 -3
  301. package/livekit-react-native-webrtc.podspec +29 -29
  302. package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -324
  303. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -7
  304. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -8
  305. package/metro.config.js +7 -7
  306. package/metro.config.macos.js +14 -14
  307. package/package.json +66 -66
  308. package/react-native.config.js +11 -11
  309. package/src/.eslintrc.cjs +67 -67
  310. package/src/Constraints.ts +20 -20
  311. package/src/EventEmitter.ts +65 -65
  312. package/src/Logger.ts +49 -49
  313. package/src/MediaDevices.ts +53 -53
  314. package/src/MediaStream.ts +161 -161
  315. package/src/MediaStreamError.ts +12 -12
  316. package/src/MediaStreamErrorEvent.ts +11 -11
  317. package/src/MediaStreamTrack.ts +282 -282
  318. package/src/MediaStreamTrackEvent.ts +25 -25
  319. package/src/MessageEvent.ts +26 -26
  320. package/src/Permissions.ts +133 -133
  321. package/src/RTCAudioSession.ts +25 -25
  322. package/src/RTCDataChannel.ts +190 -190
  323. package/src/RTCDataChannelEvent.ts +28 -28
  324. package/src/RTCDataPacketCryptor.ts +90 -90
  325. package/src/RTCDataPacketCryptorFactory.ts +24 -24
  326. package/src/RTCErrorEvent.ts +20 -20
  327. package/src/RTCFrameCryptor.ts +162 -162
  328. package/src/RTCFrameCryptorFactory.ts +101 -101
  329. package/src/RTCIceCandidate.ts +29 -29
  330. package/src/RTCIceCandidateEvent.ts +26 -26
  331. package/src/RTCKeyProvider.ts +117 -117
  332. package/src/RTCPIPView.tsx +46 -46
  333. package/src/RTCPIPView.web.tsx +18 -18
  334. package/src/RTCPeerConnection.ts +935 -935
  335. package/src/RTCRtcpParameters.ts +23 -23
  336. package/src/RTCRtpCapabilities.ts +16 -16
  337. package/src/RTCRtpCodecCapability.ts +12 -12
  338. package/src/RTCRtpCodecParameters.ts +44 -44
  339. package/src/RTCRtpEncodingParameters.ts +90 -90
  340. package/src/RTCRtpHeaderExtension.ts +27 -27
  341. package/src/RTCRtpParameters.ts +37 -37
  342. package/src/RTCRtpReceiveParameters.ts +7 -7
  343. package/src/RTCRtpReceiver.ts +60 -60
  344. package/src/RTCRtpSendParameters.ts +63 -63
  345. package/src/RTCRtpSender.ts +78 -78
  346. package/src/RTCRtpTransceiver.ts +107 -107
  347. package/src/RTCSessionDescription.ts +30 -30
  348. package/src/RTCTrackEvent.ts +42 -42
  349. package/src/RTCUtil.ts +211 -211
  350. package/src/RTCView.ts +122 -122
  351. package/src/RTCView.web.tsx +80 -80
  352. package/src/ScreenCapturePickerView.ts +4 -4
  353. package/src/ScreenCapturePickerView.web.tsx +3 -3
  354. package/src/getDisplayMedia.ts +30 -30
  355. package/src/getUserMedia.ts +136 -136
  356. package/src/index.ts +107 -107
  357. package/src/index.web.ts +191 -191
  358. package/src/webStream.ts +31 -31
  359. package/tools/format.sh +6 -6
  360. package/tools/release.sh +45 -45
  361. package/tsconfig.json +17 -17
@@ -1,234 +1,234 @@
1
- #import "PIPController.h"
2
- #import <AVKit/AVKit.h>
3
- #import "SampleBufferVideoCallView.h"
4
-
5
- @interface PIPController ()
6
-
7
- @property(nonatomic, strong) AVPictureInPictureVideoCallViewController *pipCallViewController;
8
- @property(nonatomic, strong) AVPictureInPictureControllerContentSource *contentSource;
9
- @property(nonatomic, strong) AVPictureInPictureController *pipController;
10
- @property(nonnull, nonatomic, strong) SampleBufferVideoCallView *sampleView;
11
-
12
- @property(nonnull, nonatomic, strong) UIView *fallbackView;
13
-
14
- @end
15
-
16
- @implementation PIPController
17
-
18
- - (instancetype)initWithSourceView:(UIView *)sourceView {
19
- if (self = [super init]) {
20
- self.sourceView = sourceView;
21
-
22
- _fallbackView = [[UIView alloc] initWithFrame:CGRectZero];
23
- _fallbackView.translatesAutoresizingMaskIntoConstraints = false;
24
-
25
- SampleBufferVideoCallView *subview = [[SampleBufferVideoCallView alloc] initWithFrame:CGRectZero];
26
- _sampleView = subview;
27
- _sampleView.translatesAutoresizingMaskIntoConstraints = false;
28
- _pipCallViewController = [[AVPictureInPictureVideoCallViewController alloc] init];
29
-
30
- [self addToCallViewController:_fallbackView];
31
-
32
- _contentSource = [[AVPictureInPictureControllerContentSource alloc]
33
- initWithActiveVideoCallSourceView:sourceView
34
- contentViewController:_pipCallViewController];
35
-
36
- _pipController = [[AVPictureInPictureController alloc] initWithContentSource:_contentSource];
37
- _pipController.canStartPictureInPictureAutomaticallyFromInline = YES;
38
- _pipController.delegate = self;
39
-
40
- [_pipController addObserver:self
41
- forKeyPath:@"pictureInPictureActive"
42
- options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
43
- context:nil];
44
-
45
- [[NSNotificationCenter defaultCenter] addObserver:self
46
- selector:@selector(applicationWillEnterForeground:)
47
- name:UIApplicationWillEnterForegroundNotification
48
- object:nil];
49
- }
50
-
51
- return self;
52
- }
53
-
54
- - (void)observeValueForKeyPath:(NSString *)keyPath
55
- ofObject:(id)object
56
- change:(NSDictionary *)change
57
- context:(void *)context {
58
- if ([keyPath isEqualToString:@"pictureInPictureActive"]) {
59
- _sampleView.shouldRender = [change[NSKeyValueChangeNewKey] boolValue];
60
- }
61
- }
62
-
63
- - (void)applicationWillEnterForeground:(NSNotification *)notification {
64
- if (_stopAutomatically) {
65
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
66
- [self.pipController stopPictureInPicture];
67
- });
68
- }
69
- }
70
-
71
- - (void)addToCallViewController:(UIView *)view {
72
- [_pipCallViewController.view addSubview:view];
73
- NSArray *constraints = @[
74
- [view.leadingAnchor constraintEqualToAnchor:_pipCallViewController.view.leadingAnchor],
75
- [view.trailingAnchor constraintEqualToAnchor:_pipCallViewController.view.trailingAnchor],
76
- [view.topAnchor constraintEqualToAnchor:_pipCallViewController.view.topAnchor],
77
- [view.bottomAnchor constraintEqualToAnchor:_pipCallViewController.view.bottomAnchor]
78
- ];
79
- [NSLayoutConstraint activateConstraints:constraints];
80
- }
81
-
82
- - (void)setVideoTrack:(RTCVideoTrack *)videoTrack {
83
- if (_videoTrack != videoTrack) {
84
- [_videoTrack removeRenderer:_sampleView];
85
- }
86
-
87
- _videoTrack = videoTrack;
88
- [videoTrack addRenderer:_sampleView];
89
-
90
- if (_videoTrack) {
91
- if (!_sampleView.superview) {
92
- [self addToCallViewController:_sampleView];
93
- }
94
- if (_fallbackView.superview) {
95
- [_fallbackView removeFromSuperview];
96
- }
97
- } else {
98
- if (!_fallbackView.superview) {
99
- [self addToCallViewController:_fallbackView];
100
- }
101
- if (_sampleView.superview) {
102
- [_sampleView removeFromSuperview];
103
- }
104
- }
105
- }
106
-
107
- - (void)insertFallbackView:(UIView *)view {
108
- [self.fallbackView addSubview:view];
109
- }
110
-
111
- - (void)setObjectFit:(RTCVideoViewObjectFit)fit {
112
- if (fit == RTCVideoViewObjectFitCover) {
113
- self.sampleView.sampleBufferLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
114
- } else {
115
- self.sampleView.sampleBufferLayer.videoGravity = AVLayerVideoGravityResizeAspect;
116
- }
117
- }
118
-
119
- - (CGSize)preferredSize {
120
- return _pipCallViewController.preferredContentSize;
121
- }
122
-
123
- - (void)setPreferredSize:(CGSize)size {
124
- if (!CGSizeEqualToSize(size, _pipCallViewController.preferredContentSize)) {
125
- _pipCallViewController.preferredContentSize = size;
126
- [_sampleView requestScaleRecalculation];
127
- }
128
- }
129
-
130
- - (BOOL)startAutomatically {
131
- return _pipController.canStartPictureInPictureAutomaticallyFromInline;
132
- }
133
-
134
- - (void)setStartAutomatically:(BOOL)value {
135
- _pipController.canStartPictureInPictureAutomaticallyFromInline = value;
136
- }
137
-
138
- - (void)togglePIP {
139
- if (_pipController.isPictureInPictureActive) {
140
- [_pipController stopPictureInPicture];
141
- } else if (_pipController.isPictureInPicturePossible) {
142
- [_pipController startPictureInPicture];
143
- }
144
- }
145
-
146
- - (void)startPIP {
147
- if (_pipController.isPictureInPicturePossible) {
148
- [_pipController startPictureInPicture];
149
- }
150
- }
151
-
152
- - (void)stopPIP {
153
- if (_pipController.isPictureInPictureActive) {
154
- [_pipController stopPictureInPicture];
155
- }
156
- }
157
-
158
- - (void)dealloc {
159
- [_videoTrack removeRenderer:_sampleView];
160
- [_pipController removeObserver:self forKeyPath:@"pictureInPictureActive"];
161
- [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
162
- }
163
-
164
- @end
165
-
166
- @implementation PIPController (AVPictureInPictureControllerDelegate)
167
-
168
- /*!
169
- @method pictureInPictureControllerWillStartPictureInPicture:
170
- @param pictureInPictureController
171
- The Picture in Picture controller.
172
- @abstract Delegate can implement this method to be notified when Picture in Picture will start.
173
- */
174
- - (void)pictureInPictureControllerWillStartPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
175
- NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
176
- }
177
-
178
- /*!
179
- @method pictureInPictureControllerDidStartPictureInPicture:
180
- @param pictureInPictureController
181
- The Picture in Picture controller.
182
- @abstract Delegate can implement this method to be notified when Picture in Picture did start.
183
- */
184
- - (void)pictureInPictureControllerDidStartPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
185
- NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
186
- }
187
-
188
- /*!
189
- @method pictureInPictureController:failedToStartPictureInPictureWithError:
190
- @param pictureInPictureController
191
- The Picture in Picture controller.
192
- @param error
193
- An error describing why it failed.
194
- @abstract Delegate can implement this method to be notified when Picture in Picture failed to start.
195
- */
196
- - (void)pictureInPictureController:(AVPictureInPictureController *)pictureInPictureController
197
- failedToStartPictureInPictureWithError:(NSError *)error {
198
- NSLog(@"%@: %@", NSStringFromSelector(_cmd), [error localizedDescription]); // Objective-C
199
- }
200
-
201
- /*!
202
- @method pictureInPictureControllerWillStopPictureInPicture:
203
- @param pictureInPictureController
204
- The Picture in Picture controller.
205
- @abstract Delegate can implement this method to be notified when Picture in Picture will stop.
206
- */
207
- - (void)pictureInPictureControllerWillStopPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
208
- NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
209
- }
210
-
211
- /*!
212
- @method pictureInPictureControllerDidStopPictureInPicture:
213
- @param pictureInPictureController
214
- The Picture in Picture controller.
215
- @abstract Delegate can implement this method to be notified when Picture in Picture did stop.
216
- */
217
- - (void)pictureInPictureControllerDidStopPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
218
- NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
219
- }
220
-
221
- /*!
222
- @method pictureInPictureController:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:
223
- @param pictureInPictureController
224
- The Picture in Picture controller.
225
- @param completionHandler
226
- The completion handler the delegate needs to call after restore.
227
- @abstract Delegate can implement this method to restore the user interface before Picture in Picture stops.
228
- */
229
- - (void)pictureInPictureController:(AVPictureInPictureController *)pictureInPictureController
230
- restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler {
231
- NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
232
- }
233
-
234
- @end
1
+ #import "PIPController.h"
2
+ #import <AVKit/AVKit.h>
3
+ #import "SampleBufferVideoCallView.h"
4
+
5
+ @interface PIPController ()
6
+
7
+ @property(nonatomic, strong) AVPictureInPictureVideoCallViewController *pipCallViewController;
8
+ @property(nonatomic, strong) AVPictureInPictureControllerContentSource *contentSource;
9
+ @property(nonatomic, strong) AVPictureInPictureController *pipController;
10
+ @property(nonnull, nonatomic, strong) SampleBufferVideoCallView *sampleView;
11
+
12
+ @property(nonnull, nonatomic, strong) UIView *fallbackView;
13
+
14
+ @end
15
+
16
+ @implementation PIPController
17
+
18
+ - (instancetype)initWithSourceView:(UIView *)sourceView {
19
+ if (self = [super init]) {
20
+ self.sourceView = sourceView;
21
+
22
+ _fallbackView = [[UIView alloc] initWithFrame:CGRectZero];
23
+ _fallbackView.translatesAutoresizingMaskIntoConstraints = false;
24
+
25
+ SampleBufferVideoCallView *subview = [[SampleBufferVideoCallView alloc] initWithFrame:CGRectZero];
26
+ _sampleView = subview;
27
+ _sampleView.translatesAutoresizingMaskIntoConstraints = false;
28
+ _pipCallViewController = [[AVPictureInPictureVideoCallViewController alloc] init];
29
+
30
+ [self addToCallViewController:_fallbackView];
31
+
32
+ _contentSource = [[AVPictureInPictureControllerContentSource alloc]
33
+ initWithActiveVideoCallSourceView:sourceView
34
+ contentViewController:_pipCallViewController];
35
+
36
+ _pipController = [[AVPictureInPictureController alloc] initWithContentSource:_contentSource];
37
+ _pipController.canStartPictureInPictureAutomaticallyFromInline = YES;
38
+ _pipController.delegate = self;
39
+
40
+ [_pipController addObserver:self
41
+ forKeyPath:@"pictureInPictureActive"
42
+ options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
43
+ context:nil];
44
+
45
+ [[NSNotificationCenter defaultCenter] addObserver:self
46
+ selector:@selector(applicationWillEnterForeground:)
47
+ name:UIApplicationWillEnterForegroundNotification
48
+ object:nil];
49
+ }
50
+
51
+ return self;
52
+ }
53
+
54
+ - (void)observeValueForKeyPath:(NSString *)keyPath
55
+ ofObject:(id)object
56
+ change:(NSDictionary *)change
57
+ context:(void *)context {
58
+ if ([keyPath isEqualToString:@"pictureInPictureActive"]) {
59
+ _sampleView.shouldRender = [change[NSKeyValueChangeNewKey] boolValue];
60
+ }
61
+ }
62
+
63
+ - (void)applicationWillEnterForeground:(NSNotification *)notification {
64
+ if (_stopAutomatically) {
65
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
66
+ [self.pipController stopPictureInPicture];
67
+ });
68
+ }
69
+ }
70
+
71
+ - (void)addToCallViewController:(UIView *)view {
72
+ [_pipCallViewController.view addSubview:view];
73
+ NSArray *constraints = @[
74
+ [view.leadingAnchor constraintEqualToAnchor:_pipCallViewController.view.leadingAnchor],
75
+ [view.trailingAnchor constraintEqualToAnchor:_pipCallViewController.view.trailingAnchor],
76
+ [view.topAnchor constraintEqualToAnchor:_pipCallViewController.view.topAnchor],
77
+ [view.bottomAnchor constraintEqualToAnchor:_pipCallViewController.view.bottomAnchor]
78
+ ];
79
+ [NSLayoutConstraint activateConstraints:constraints];
80
+ }
81
+
82
+ - (void)setVideoTrack:(RTCVideoTrack *)videoTrack {
83
+ if (_videoTrack != videoTrack) {
84
+ [_videoTrack removeRenderer:_sampleView];
85
+ }
86
+
87
+ _videoTrack = videoTrack;
88
+ [videoTrack addRenderer:_sampleView];
89
+
90
+ if (_videoTrack) {
91
+ if (!_sampleView.superview) {
92
+ [self addToCallViewController:_sampleView];
93
+ }
94
+ if (_fallbackView.superview) {
95
+ [_fallbackView removeFromSuperview];
96
+ }
97
+ } else {
98
+ if (!_fallbackView.superview) {
99
+ [self addToCallViewController:_fallbackView];
100
+ }
101
+ if (_sampleView.superview) {
102
+ [_sampleView removeFromSuperview];
103
+ }
104
+ }
105
+ }
106
+
107
+ - (void)insertFallbackView:(UIView *)view {
108
+ [self.fallbackView addSubview:view];
109
+ }
110
+
111
+ - (void)setObjectFit:(RTCVideoViewObjectFit)fit {
112
+ if (fit == RTCVideoViewObjectFitCover) {
113
+ self.sampleView.sampleBufferLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
114
+ } else {
115
+ self.sampleView.sampleBufferLayer.videoGravity = AVLayerVideoGravityResizeAspect;
116
+ }
117
+ }
118
+
119
+ - (CGSize)preferredSize {
120
+ return _pipCallViewController.preferredContentSize;
121
+ }
122
+
123
+ - (void)setPreferredSize:(CGSize)size {
124
+ if (!CGSizeEqualToSize(size, _pipCallViewController.preferredContentSize)) {
125
+ _pipCallViewController.preferredContentSize = size;
126
+ [_sampleView requestScaleRecalculation];
127
+ }
128
+ }
129
+
130
+ - (BOOL)startAutomatically {
131
+ return _pipController.canStartPictureInPictureAutomaticallyFromInline;
132
+ }
133
+
134
+ - (void)setStartAutomatically:(BOOL)value {
135
+ _pipController.canStartPictureInPictureAutomaticallyFromInline = value;
136
+ }
137
+
138
+ - (void)togglePIP {
139
+ if (_pipController.isPictureInPictureActive) {
140
+ [_pipController stopPictureInPicture];
141
+ } else if (_pipController.isPictureInPicturePossible) {
142
+ [_pipController startPictureInPicture];
143
+ }
144
+ }
145
+
146
+ - (void)startPIP {
147
+ if (_pipController.isPictureInPicturePossible) {
148
+ [_pipController startPictureInPicture];
149
+ }
150
+ }
151
+
152
+ - (void)stopPIP {
153
+ if (_pipController.isPictureInPictureActive) {
154
+ [_pipController stopPictureInPicture];
155
+ }
156
+ }
157
+
158
+ - (void)dealloc {
159
+ [_videoTrack removeRenderer:_sampleView];
160
+ [_pipController removeObserver:self forKeyPath:@"pictureInPictureActive"];
161
+ [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
162
+ }
163
+
164
+ @end
165
+
166
+ @implementation PIPController (AVPictureInPictureControllerDelegate)
167
+
168
+ /*!
169
+ @method pictureInPictureControllerWillStartPictureInPicture:
170
+ @param pictureInPictureController
171
+ The Picture in Picture controller.
172
+ @abstract Delegate can implement this method to be notified when Picture in Picture will start.
173
+ */
174
+ - (void)pictureInPictureControllerWillStartPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
175
+ NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
176
+ }
177
+
178
+ /*!
179
+ @method pictureInPictureControllerDidStartPictureInPicture:
180
+ @param pictureInPictureController
181
+ The Picture in Picture controller.
182
+ @abstract Delegate can implement this method to be notified when Picture in Picture did start.
183
+ */
184
+ - (void)pictureInPictureControllerDidStartPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
185
+ NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
186
+ }
187
+
188
+ /*!
189
+ @method pictureInPictureController:failedToStartPictureInPictureWithError:
190
+ @param pictureInPictureController
191
+ The Picture in Picture controller.
192
+ @param error
193
+ An error describing why it failed.
194
+ @abstract Delegate can implement this method to be notified when Picture in Picture failed to start.
195
+ */
196
+ - (void)pictureInPictureController:(AVPictureInPictureController *)pictureInPictureController
197
+ failedToStartPictureInPictureWithError:(NSError *)error {
198
+ NSLog(@"%@: %@", NSStringFromSelector(_cmd), [error localizedDescription]); // Objective-C
199
+ }
200
+
201
+ /*!
202
+ @method pictureInPictureControllerWillStopPictureInPicture:
203
+ @param pictureInPictureController
204
+ The Picture in Picture controller.
205
+ @abstract Delegate can implement this method to be notified when Picture in Picture will stop.
206
+ */
207
+ - (void)pictureInPictureControllerWillStopPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
208
+ NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
209
+ }
210
+
211
+ /*!
212
+ @method pictureInPictureControllerDidStopPictureInPicture:
213
+ @param pictureInPictureController
214
+ The Picture in Picture controller.
215
+ @abstract Delegate can implement this method to be notified when Picture in Picture did stop.
216
+ */
217
+ - (void)pictureInPictureControllerDidStopPictureInPicture:(AVPictureInPictureController *)pictureInPictureController {
218
+ NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
219
+ }
220
+
221
+ /*!
222
+ @method pictureInPictureController:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:
223
+ @param pictureInPictureController
224
+ The Picture in Picture controller.
225
+ @param completionHandler
226
+ The completion handler the delegate needs to call after restore.
227
+ @abstract Delegate can implement this method to restore the user interface before Picture in Picture stops.
228
+ */
229
+ - (void)pictureInPictureController:(AVPictureInPictureController *)pictureInPictureController
230
+ restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler {
231
+ NSLog(@"%@", NSStringFromSelector(_cmd)); // Objective-C
232
+ }
233
+
234
+ @end
@@ -1,13 +1,13 @@
1
- #import <Foundation/Foundation.h>
2
- #import <WebRTC/WebRTC.h>
3
- #import <AVFoundation/AVFoundation.h>
4
-
5
- @class PalabraClient;
6
-
7
- @interface PalabraAudioSink : NSObject <RTCAudioRenderer>
8
-
9
- @property (nonatomic, weak) PalabraClient *client;
10
-
11
- - (instancetype)initWithClient:(PalabraClient *)client;
12
-
13
- @end
1
+ #import <Foundation/Foundation.h>
2
+ #import <WebRTC/WebRTC.h>
3
+ #import <AVFoundation/AVFoundation.h>
4
+
5
+ @class PalabraClient;
6
+
7
+ @interface PalabraAudioSink : NSObject <RTCAudioRenderer>
8
+
9
+ @property (nonatomic, weak) PalabraClient *client;
10
+
11
+ - (instancetype)initWithClient:(PalabraClient *)client;
12
+
13
+ @end
@@ -1,18 +1,18 @@
1
- #import "PalabraAudioSink.h"
2
- #import "PalabraClient.h"
3
-
4
- @implementation PalabraAudioSink
5
-
6
- - (instancetype)initWithClient:(PalabraClient *)client {
7
- self = [super init];
8
- if (self) {
9
- _client = client;
10
- }
11
- return self;
12
- }
13
-
14
- - (void)renderPCMBuffer:(AVAudioPCMBuffer *)pcmBuffer {
15
- [self.client sendAudioToPalabra:pcmBuffer];
16
- }
17
-
18
- @end
1
+ #import "PalabraAudioSink.h"
2
+ #import "PalabraClient.h"
3
+
4
+ @implementation PalabraAudioSink
5
+
6
+ - (instancetype)initWithClient:(PalabraClient *)client {
7
+ self = [super init];
8
+ if (self) {
9
+ _client = client;
10
+ }
11
+ return self;
12
+ }
13
+
14
+ - (void)renderPCMBuffer:(AVAudioPCMBuffer *)pcmBuffer {
15
+ [self.client sendAudioToPalabra:pcmBuffer];
16
+ }
17
+
18
+ @end
@@ -1,36 +1,42 @@
1
- #import <Foundation/Foundation.h>
2
- #import <WebRTC/WebRTC.h>
3
- #import <AVFoundation/AVFoundation.h>
4
-
5
- @class WebRTCModule;
6
-
7
- @protocol PalabraClientDelegate <NSObject>
8
- @optional
9
- - (void)palabraDidReceiveTranscription:(NSDictionary *)transcription;
10
- - (void)palabraDidChangeConnectionState:(NSString *)state;
11
- - (void)palabraDidFailWithError:(NSError *)error;
12
- @end
13
-
14
- @interface PalabraClient : NSObject
15
-
16
- @property (nonatomic, weak) id<PalabraClientDelegate> delegate;
17
- @property (nonatomic, weak) WebRTCModule *module;
18
- @property (nonatomic, readonly) BOOL isConnected;
19
- @property (nonatomic, readonly) BOOL isTranslating;
20
-
21
- - (instancetype)initWithClientId:(NSString *)clientId
22
- clientSecret:(NSString *)clientSecret
23
- apiUrl:(NSString *)apiUrl
24
- module:(WebRTCModule *)module;
25
-
26
- - (void)startWithTrack:(RTCAudioTrack *)remoteAudioTrack
27
- sourceLang:(NSString *)sourceLang
28
- targetLang:(NSString *)targetLang;
29
-
30
- - (void)stop;
31
-
32
- - (void)setTranslatedVolume:(double)volume;
33
-
34
- - (void)sendAudioToPalabra:(AVAudioPCMBuffer *)buffer;
35
-
36
- @end
1
+ #import <Foundation/Foundation.h>
2
+ #import <WebRTC/WebRTC.h>
3
+ #import <AVFoundation/AVFoundation.h>
4
+
5
+ @class WebRTCModule;
6
+
7
+ @protocol PalabraClientDelegate <NSObject>
8
+ @optional
9
+ - (void)palabraDidReceiveTranscription:(NSDictionary *)transcription;
10
+ - (void)palabraDidChangeConnectionState:(NSString *)state;
11
+ - (void)palabraDidFailWithError:(NSError *)error;
12
+ @end
13
+
14
+ @interface PalabraClient : NSObject
15
+
16
+ @property (nonatomic, weak) id<PalabraClientDelegate> delegate;
17
+ @property (nonatomic, weak) WebRTCModule *module;
18
+ @property (nonatomic, readonly) BOOL isConnected;
19
+ @property (nonatomic, readonly) BOOL isTranslating;
20
+ @property (nonatomic, readonly) BOOL isRunning;
21
+
22
+ - (instancetype)initWithClientId:(NSString *)clientId
23
+ clientSecret:(NSString *)clientSecret
24
+ apiUrl:(NSString *)apiUrl
25
+ module:(WebRTCModule *)module;
26
+
27
+ - (void)startWithTrack:(RTCAudioTrack *)remoteAudioTrack
28
+ sourceLang:(NSString *)sourceLang
29
+ targetLang:(NSString *)targetLang;
30
+
31
+ - (BOOL)matchesSessionWithTrackId:(NSString *)trackId
32
+ sourceLang:(NSString *)sourceLang
33
+ targetLang:(NSString *)targetLang
34
+ apiUrl:(NSString *)apiUrl;
35
+
36
+ - (void)stop;
37
+
38
+ - (void)setTranslatedVolume:(double)volume;
39
+
40
+ - (void)sendAudioToPalabra:(AVAudioPCMBuffer *)buffer;
41
+
42
+ @end