@sbhjt-gr/react-native-webrtc 124.0.0 → 124.0.1

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 (360) 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 +1643 -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 +464 -464
  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 +36 -36
  62. package/ios/RCTWebRTC/PalabraClient.m +584 -584
  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/WebRTCModule+Palabra.h +4 -4
  86. package/ios/RCTWebRTC/WebRTCModule+Palabra.m +83 -83
  87. package/ios/RCTWebRTC/WebRTCModule+Permissions.m +75 -75
  88. package/ios/RCTWebRTC/WebRTCModule+RTCAudioSession.m +20 -20
  89. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.h +14 -14
  90. package/ios/RCTWebRTC/WebRTCModule+RTCDataChannel.m +165 -165
  91. package/ios/RCTWebRTC/WebRTCModule+RTCFrameCryptor.m +611 -611
  92. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.h +13 -13
  93. package/ios/RCTWebRTC/WebRTCModule+RTCMediaStream.m +728 -533
  94. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.h +24 -24
  95. package/ios/RCTWebRTC/WebRTCModule+RTCPeerConnection.m +1004 -1004
  96. package/ios/RCTWebRTC/WebRTCModule+Transceivers.m +267 -267
  97. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.h +12 -12
  98. package/ios/RCTWebRTC/WebRTCModule+VideoTrackAdapter.m +166 -166
  99. package/ios/RCTWebRTC/WebRTCModule.h +58 -51
  100. package/ios/RCTWebRTC/WebRTCModule.m +169 -151
  101. package/ios/RCTWebRTC/WebRTCModuleOptions.h +24 -24
  102. package/ios/RCTWebRTC/WebRTCModuleOptions.m +31 -31
  103. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.h +9 -9
  104. package/ios/RCTWebRTC/videoEffects/ProcessorProvider.m +23 -23
  105. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.h +13 -13
  106. package/ios/RCTWebRTC/videoEffects/VideoEffectProcessor.m +23 -23
  107. package/ios/RCTWebRTC/videoEffects/VideoFrameProcessor.h +8 -8
  108. package/ios/RCTWebRTC.xcodeproj/project.pbxproj +404 -404
  109. package/ios/RCTWebRTC.xcworkspace/contents.xcworkspacedata +10 -10
  110. package/lib/commonjs/Constraints.js.map +1 -1
  111. package/lib/commonjs/EventEmitter.js.map +1 -1
  112. package/lib/commonjs/Logger.js.map +1 -1
  113. package/lib/commonjs/MediaDevices.js +17 -17
  114. package/lib/commonjs/MediaDevices.js.map +1 -1
  115. package/lib/commonjs/MediaStream.js +19 -19
  116. package/lib/commonjs/MediaStream.js.map +1 -1
  117. package/lib/commonjs/MediaStreamError.js.map +1 -1
  118. package/lib/commonjs/MediaStreamErrorEvent.js.map +1 -1
  119. package/lib/commonjs/MediaStreamTrack.js +28 -28
  120. package/lib/commonjs/MediaStreamTrack.js.map +1 -1
  121. package/lib/commonjs/MediaStreamTrackEvent.js +6 -6
  122. package/lib/commonjs/MediaStreamTrackEvent.js.map +1 -1
  123. package/lib/commonjs/MessageEvent.js +7 -7
  124. package/lib/commonjs/MessageEvent.js.map +1 -1
  125. package/lib/commonjs/Permissions.js +28 -28
  126. package/lib/commonjs/Permissions.js.map +1 -1
  127. package/lib/commonjs/RTCAudioSession.js +4 -4
  128. package/lib/commonjs/RTCAudioSession.js.map +1 -1
  129. package/lib/commonjs/RTCDataChannel.js +2 -2
  130. package/lib/commonjs/RTCDataChannel.js.map +1 -1
  131. package/lib/commonjs/RTCDataChannelEvent.js +6 -6
  132. package/lib/commonjs/RTCDataChannelEvent.js.map +1 -1
  133. package/lib/commonjs/RTCDataPacketCryptor.js.map +1 -1
  134. package/lib/commonjs/RTCDataPacketCryptorFactory.js.map +1 -1
  135. package/lib/commonjs/RTCErrorEvent.js +3 -3
  136. package/lib/commonjs/RTCErrorEvent.js.map +1 -1
  137. package/lib/commonjs/RTCFrameCryptor.js +8 -8
  138. package/lib/commonjs/RTCFrameCryptor.js.map +1 -1
  139. package/lib/commonjs/RTCFrameCryptorFactory.js.map +1 -1
  140. package/lib/commonjs/RTCIceCandidate.js.map +1 -1
  141. package/lib/commonjs/RTCIceCandidateEvent.js +7 -7
  142. package/lib/commonjs/RTCIceCandidateEvent.js.map +1 -1
  143. package/lib/commonjs/RTCKeyProvider.js.map +1 -1
  144. package/lib/commonjs/RTCPIPView.js +2 -2
  145. package/lib/commonjs/RTCPIPView.js.map +1 -1
  146. package/lib/commonjs/RTCPIPView.web.js.map +1 -1
  147. package/lib/commonjs/RTCPeerConnection.js +36 -36
  148. package/lib/commonjs/RTCPeerConnection.js.map +1 -1
  149. package/lib/commonjs/RTCRtcpParameters.js.map +1 -1
  150. package/lib/commonjs/RTCRtpCapabilities.js +2 -2
  151. package/lib/commonjs/RTCRtpCapabilities.js.map +1 -1
  152. package/lib/commonjs/RTCRtpCodecCapability.js.map +1 -1
  153. package/lib/commonjs/RTCRtpCodecParameters.js.map +1 -1
  154. package/lib/commonjs/RTCRtpEncodingParameters.js.map +1 -1
  155. package/lib/commonjs/RTCRtpHeaderExtension.js.map +1 -1
  156. package/lib/commonjs/RTCRtpParameters.js.map +1 -1
  157. package/lib/commonjs/RTCRtpReceiveParameters.js.map +1 -1
  158. package/lib/commonjs/RTCRtpReceiver.js +7 -7
  159. package/lib/commonjs/RTCRtpReceiver.js.map +1 -1
  160. package/lib/commonjs/RTCRtpSendParameters.js +3 -3
  161. package/lib/commonjs/RTCRtpSendParameters.js.map +1 -1
  162. package/lib/commonjs/RTCRtpSender.js +7 -7
  163. package/lib/commonjs/RTCRtpSender.js.map +1 -1
  164. package/lib/commonjs/RTCRtpTransceiver.js.map +1 -1
  165. package/lib/commonjs/RTCSessionDescription.js.map +1 -1
  166. package/lib/commonjs/RTCTrackEvent.js +6 -6
  167. package/lib/commonjs/RTCTrackEvent.js.map +1 -1
  168. package/lib/commonjs/RTCUtil.js +28 -28
  169. package/lib/commonjs/RTCUtil.js.map +1 -1
  170. package/lib/commonjs/RTCView.js +5 -5
  171. package/lib/commonjs/RTCView.js.map +1 -1
  172. package/lib/commonjs/RTCView.web.js.map +1 -1
  173. package/lib/commonjs/ScreenCapturePickerView.js.map +1 -1
  174. package/lib/commonjs/ScreenCapturePickerView.web.js.map +1 -1
  175. package/lib/commonjs/getDisplayMedia.js.map +1 -1
  176. package/lib/commonjs/getUserMedia.js.map +1 -1
  177. package/lib/commonjs/index.js.map +1 -1
  178. package/lib/commonjs/index.web.js.map +1 -1
  179. package/lib/commonjs/webStream.js.map +1 -1
  180. package/lib/module/Constraints.js.map +1 -1
  181. package/lib/module/EventEmitter.js.map +1 -1
  182. package/lib/module/Logger.js.map +1 -1
  183. package/lib/module/MediaDevices.js +17 -17
  184. package/lib/module/MediaDevices.js.map +1 -1
  185. package/lib/module/MediaStream.js +19 -19
  186. package/lib/module/MediaStream.js.map +1 -1
  187. package/lib/module/MediaStreamError.js.map +1 -1
  188. package/lib/module/MediaStreamErrorEvent.js.map +1 -1
  189. package/lib/module/MediaStreamTrack.js +28 -28
  190. package/lib/module/MediaStreamTrack.js.map +1 -1
  191. package/lib/module/MediaStreamTrackEvent.js +6 -6
  192. package/lib/module/MediaStreamTrackEvent.js.map +1 -1
  193. package/lib/module/MessageEvent.js +7 -7
  194. package/lib/module/MessageEvent.js.map +1 -1
  195. package/lib/module/Permissions.js +28 -28
  196. package/lib/module/Permissions.js.map +1 -1
  197. package/lib/module/RTCAudioSession.js +4 -4
  198. package/lib/module/RTCAudioSession.js.map +1 -1
  199. package/lib/module/RTCDataChannel.js +2 -2
  200. package/lib/module/RTCDataChannel.js.map +1 -1
  201. package/lib/module/RTCDataChannelEvent.js +6 -6
  202. package/lib/module/RTCDataChannelEvent.js.map +1 -1
  203. package/lib/module/RTCDataPacketCryptor.js.map +1 -1
  204. package/lib/module/RTCDataPacketCryptorFactory.js.map +1 -1
  205. package/lib/module/RTCErrorEvent.js +3 -3
  206. package/lib/module/RTCErrorEvent.js.map +1 -1
  207. package/lib/module/RTCFrameCryptor.js +8 -8
  208. package/lib/module/RTCFrameCryptor.js.map +1 -1
  209. package/lib/module/RTCFrameCryptorFactory.js.map +1 -1
  210. package/lib/module/RTCIceCandidate.js.map +1 -1
  211. package/lib/module/RTCIceCandidateEvent.js +7 -7
  212. package/lib/module/RTCIceCandidateEvent.js.map +1 -1
  213. package/lib/module/RTCKeyProvider.js.map +1 -1
  214. package/lib/module/RTCPIPView.js +2 -2
  215. package/lib/module/RTCPIPView.js.map +1 -1
  216. package/lib/module/RTCPIPView.web.js.map +1 -1
  217. package/lib/module/RTCPeerConnection.js +36 -36
  218. package/lib/module/RTCPeerConnection.js.map +1 -1
  219. package/lib/module/RTCRtcpParameters.js.map +1 -1
  220. package/lib/module/RTCRtpCapabilities.js +2 -2
  221. package/lib/module/RTCRtpCapabilities.js.map +1 -1
  222. package/lib/module/RTCRtpCodecCapability.js.map +1 -1
  223. package/lib/module/RTCRtpCodecParameters.js.map +1 -1
  224. package/lib/module/RTCRtpEncodingParameters.js.map +1 -1
  225. package/lib/module/RTCRtpHeaderExtension.js.map +1 -1
  226. package/lib/module/RTCRtpParameters.js.map +1 -1
  227. package/lib/module/RTCRtpReceiveParameters.js.map +1 -1
  228. package/lib/module/RTCRtpReceiver.js +7 -7
  229. package/lib/module/RTCRtpReceiver.js.map +1 -1
  230. package/lib/module/RTCRtpSendParameters.js +3 -3
  231. package/lib/module/RTCRtpSendParameters.js.map +1 -1
  232. package/lib/module/RTCRtpSender.js +7 -7
  233. package/lib/module/RTCRtpSender.js.map +1 -1
  234. package/lib/module/RTCRtpTransceiver.js.map +1 -1
  235. package/lib/module/RTCSessionDescription.js.map +1 -1
  236. package/lib/module/RTCTrackEvent.js +6 -6
  237. package/lib/module/RTCTrackEvent.js.map +1 -1
  238. package/lib/module/RTCUtil.js +28 -28
  239. package/lib/module/RTCUtil.js.map +1 -1
  240. package/lib/module/RTCView.js +5 -5
  241. package/lib/module/RTCView.js.map +1 -1
  242. package/lib/module/RTCView.web.js.map +1 -1
  243. package/lib/module/ScreenCapturePickerView.js.map +1 -1
  244. package/lib/module/ScreenCapturePickerView.web.js.map +1 -1
  245. package/lib/module/getDisplayMedia.js.map +1 -1
  246. package/lib/module/getUserMedia.js.map +1 -1
  247. package/lib/module/index.js.map +1 -1
  248. package/lib/module/index.web.js.map +1 -1
  249. package/lib/module/webStream.js.map +1 -1
  250. package/lib/typescript/Constraints.d.ts +19 -19
  251. package/lib/typescript/EventEmitter.d.ts +6 -6
  252. package/lib/typescript/Logger.d.ts +13 -13
  253. package/lib/typescript/MediaDevices.d.ts +30 -30
  254. package/lib/typescript/MediaStream.d.ts +48 -48
  255. package/lib/typescript/MediaStreamError.d.ts +6 -6
  256. package/lib/typescript/MediaStreamErrorEvent.d.ts +6 -6
  257. package/lib/typescript/MediaStreamTrack.d.ts +101 -101
  258. package/lib/typescript/MediaStreamTrackEvent.d.ts +19 -19
  259. package/lib/typescript/MessageEvent.d.ts +20 -20
  260. package/lib/typescript/Permissions.d.ts +55 -55
  261. package/lib/typescript/RTCAudioSession.d.ts +10 -10
  262. package/lib/typescript/RTCDataChannel.d.ts +43 -43
  263. package/lib/typescript/RTCDataChannelEvent.d.ts +19 -19
  264. package/lib/typescript/RTCDataPacketCryptor.d.ts +12 -12
  265. package/lib/typescript/RTCDataPacketCryptorFactory.d.ts +6 -6
  266. package/lib/typescript/RTCErrorEvent.d.ts +12 -12
  267. package/lib/typescript/RTCFrameCryptor.d.ts +47 -47
  268. package/lib/typescript/RTCFrameCryptorFactory.d.ts +21 -21
  269. package/lib/typescript/RTCIceCandidate.d.ts +17 -17
  270. package/lib/typescript/RTCIceCandidateEvent.d.ts +20 -20
  271. package/lib/typescript/RTCKeyProvider.d.ts +21 -21
  272. package/lib/typescript/RTCPIPView.d.ts +15 -15
  273. package/lib/typescript/RTCPIPView.web.d.ts +13 -13
  274. package/lib/typescript/RTCPeerConnection.d.ts +117 -117
  275. package/lib/typescript/RTCRtcpParameters.d.ts +10 -10
  276. package/lib/typescript/RTCRtpCapabilities.d.ts +9 -9
  277. package/lib/typescript/RTCRtpCodecCapability.d.ts +7 -7
  278. package/lib/typescript/RTCRtpCodecParameters.d.ts +16 -16
  279. package/lib/typescript/RTCRtpEncodingParameters.d.ts +23 -23
  280. package/lib/typescript/RTCRtpHeaderExtension.d.ts +12 -12
  281. package/lib/typescript/RTCRtpParameters.d.ts +19 -19
  282. package/lib/typescript/RTCRtpReceiveParameters.d.ts +4 -4
  283. package/lib/typescript/RTCRtpReceiver.d.ts +21 -21
  284. package/lib/typescript/RTCRtpSendParameters.d.ts +20 -20
  285. package/lib/typescript/RTCRtpSender.d.ts +22 -22
  286. package/lib/typescript/RTCRtpTransceiver.d.ts +31 -31
  287. package/lib/typescript/RTCSessionDescription.d.ts +12 -12
  288. package/lib/typescript/RTCTrackEvent.d.ts +29 -29
  289. package/lib/typescript/RTCUtil.d.ts +37 -37
  290. package/lib/typescript/RTCView.d.ts +117 -117
  291. package/lib/typescript/RTCView.web.d.ts +25 -25
  292. package/lib/typescript/ScreenCapturePickerView.d.ts +2 -2
  293. package/lib/typescript/ScreenCapturePickerView.web.d.ts +1 -1
  294. package/lib/typescript/getDisplayMedia.d.ts +2 -2
  295. package/lib/typescript/getUserMedia.d.ts +7 -7
  296. package/lib/typescript/index.d.ts +22 -22
  297. package/lib/typescript/index.web.d.ts +101 -101
  298. package/lib/typescript/webStream.d.ts +3 -3
  299. package/livekit-react-native-webrtc.podspec +29 -29
  300. package/macos/RCTWebRTC.xcodeproj/project.pbxproj +324 -324
  301. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -7
  302. package/macos/RCTWebRTC.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -8
  303. package/metro.config.js +7 -7
  304. package/metro.config.macos.js +14 -14
  305. package/package.json +66 -66
  306. package/react-native.config.js +11 -11
  307. package/src/.eslintrc.cjs +67 -67
  308. package/src/Constraints.ts +20 -20
  309. package/src/EventEmitter.ts +65 -65
  310. package/src/Logger.ts +49 -49
  311. package/src/MediaDevices.ts +53 -53
  312. package/src/MediaStream.ts +161 -161
  313. package/src/MediaStreamError.ts +12 -12
  314. package/src/MediaStreamErrorEvent.ts +11 -11
  315. package/src/MediaStreamTrack.ts +282 -282
  316. package/src/MediaStreamTrackEvent.ts +25 -25
  317. package/src/MessageEvent.ts +26 -26
  318. package/src/Permissions.ts +133 -133
  319. package/src/RTCAudioSession.ts +25 -25
  320. package/src/RTCDataChannel.ts +190 -190
  321. package/src/RTCDataChannelEvent.ts +28 -28
  322. package/src/RTCDataPacketCryptor.ts +90 -90
  323. package/src/RTCDataPacketCryptorFactory.ts +24 -24
  324. package/src/RTCErrorEvent.ts +20 -20
  325. package/src/RTCFrameCryptor.ts +162 -162
  326. package/src/RTCFrameCryptorFactory.ts +101 -101
  327. package/src/RTCIceCandidate.ts +29 -29
  328. package/src/RTCIceCandidateEvent.ts +26 -26
  329. package/src/RTCKeyProvider.ts +117 -117
  330. package/src/RTCPIPView.tsx +46 -46
  331. package/src/RTCPIPView.web.tsx +18 -18
  332. package/src/RTCPeerConnection.ts +832 -832
  333. package/src/RTCRtcpParameters.ts +23 -23
  334. package/src/RTCRtpCapabilities.ts +16 -16
  335. package/src/RTCRtpCodecCapability.ts +12 -12
  336. package/src/RTCRtpCodecParameters.ts +44 -44
  337. package/src/RTCRtpEncodingParameters.ts +90 -90
  338. package/src/RTCRtpHeaderExtension.ts +27 -27
  339. package/src/RTCRtpParameters.ts +37 -37
  340. package/src/RTCRtpReceiveParameters.ts +7 -7
  341. package/src/RTCRtpReceiver.ts +60 -60
  342. package/src/RTCRtpSendParameters.ts +63 -63
  343. package/src/RTCRtpSender.ts +78 -78
  344. package/src/RTCRtpTransceiver.ts +107 -107
  345. package/src/RTCSessionDescription.ts +30 -30
  346. package/src/RTCTrackEvent.ts +42 -42
  347. package/src/RTCUtil.ts +211 -211
  348. package/src/RTCView.ts +122 -122
  349. package/src/RTCView.web.tsx +80 -80
  350. package/src/ScreenCapturePickerView.ts +4 -4
  351. package/src/ScreenCapturePickerView.web.tsx +3 -3
  352. package/src/getDisplayMedia.ts +30 -30
  353. package/src/getUserMedia.ts +111 -111
  354. package/src/index.ts +107 -107
  355. package/src/index.web.ts +191 -191
  356. package/src/webStream.ts +31 -31
  357. package/tools/format.sh +6 -6
  358. package/tools/release.sh +45 -45
  359. package/tsconfig.json +17 -17
  360. package/.claude/settings.local.json +0 -9
@@ -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,36 @@
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
+
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