1
-
2
1
import livekit_react_native_webrtc
3
2
import AVFoundation
4
3
import AVFAudio
@@ -9,12 +8,11 @@ struct LKEvents {
9
8
static let kEventMultibandProcessed = " LK_MULTIBAND_PROCESSED " ;
10
9
}
11
10
12
- @objc ( LivekitReactNative )
13
- public class LivekitReactNative : RCTEventEmitter {
11
+ @objc ( LivekitReactNativeModule )
12
+ public class LivekitReactNativeModule : RCTEventEmitter {
14
13
15
14
// This cannot be initialized in init as self.bridge is given afterwards.
16
15
private var _audioRendererManager : AudioRendererManager ? = nil
17
- @objc
18
16
public var audioRendererManager : AudioRendererManager {
19
17
get {
20
18
if _audioRendererManager == nil {
@@ -36,6 +34,11 @@ public class LivekitReactNative: RCTEventEmitter {
36
34
RTCAudioSessionConfiguration . setWebRTC ( config)
37
35
}
38
36
37
+ @objc
38
+ override public static func requiresMainQueueSetup( ) -> Bool {
39
+ return false
40
+ }
41
+
39
42
@objc
40
43
public static func setup( ) {
41
44
let videoEncoderFactory = RTCDefaultVideoEncoderFactory ( )
@@ -175,53 +178,53 @@ public class LivekitReactNative: RCTEventEmitter {
175
178
session. unlockForConfiguration ( )
176
179
}
177
180
178
- @objc ( createVolumeProcessor: trackId: )
179
- public func createVolumeProcessor( _ pcId: NSNumber , trackId: String ) -> String {
180
- let renderer = VolumeAudioRenderer ( intervalMs: 40.0 , eventEmitter: self )
181
- let reactTag = self . audioRendererManager. registerRenderer ( renderer)
182
- renderer. reactTag = reactTag
183
- self . audioRendererManager. attach ( renderer: renderer, pcId: pcId, trackId: trackId)
184
-
185
- return reactTag
186
- }
187
-
188
- @objc ( deleteVolumeProcessor: pcId: trackId: )
189
- public func deleteVolumeProcessor( _ reactTag: String , pcId: NSNumber , trackId: String ) -> Any ? {
190
- self . audioRendererManager. detach ( rendererByTag: reactTag, pcId: pcId, trackId: trackId)
191
- self . audioRendererManager. unregisterRenderer ( forReactTag: reactTag)
192
-
193
- return nil
194
- }
195
-
196
- @objc ( createMultibandVolumeProcessor: pcId: trackId: )
197
- public func createMultibandVolumeProcessor( _ options: NSDictionary , pcId: NSNumber , trackId: String ) -> String {
198
- let bands = ( options [ " bands " ] as? NSString ) ? . integerValue
199
- let minFrequency = ( options [ " minFrequency " ] as? NSString ) ? . floatValue
200
- let maxFrequency = ( options [ " maxFrequency " ] as? NSString ) ? . floatValue
201
- let intervalMs = ( options [ " updateInterval " ] as? NSString ) ? . floatValue
202
-
203
- let renderer = MultibandVolumeAudioRenderer (
204
- bands: bands,
205
- minFrequency: minFrequency,
206
- maxFrequency: maxFrequency,
207
- intervalMs: intervalMs,
208
- eventEmitter: self
209
- )
210
- let reactTag = self . audioRendererManager. registerRenderer ( renderer)
211
- renderer. reactTag = reactTag
212
- self . audioRendererManager. attach ( renderer: renderer, pcId: pcId, trackId: trackId)
213
-
214
- return reactTag
215
- }
216
-
217
- @objc ( deleteMultibandVolumeProcessor: pcId: trackId: )
218
- public func deleteMultibandVolumeProcessor( _ reactTag: String , pcId: NSNumber , trackId: String ) -> Any ? {
219
- self . audioRendererManager. detach ( rendererByTag: reactTag, pcId: pcId, trackId: trackId)
220
- self . audioRendererManager. unregisterRenderer ( forReactTag: reactTag)
221
-
222
- return nil
223
- }
224
-
181
+ // @objc(createVolumeProcessor:trackId:)
182
+ // public func createVolumeProcessor(_ pcId: NSNumber, trackId: String) -> String {
183
+ // let renderer = VolumeAudioRenderer(intervalMs: 40.0, eventEmitter: self)
184
+ // let reactTag = self.audioRendererManager.registerRenderer(renderer)
185
+ // renderer.reactTag = reactTag
186
+ // self.audioRendererManager.attach(renderer: renderer, pcId: pcId, trackId: trackId)
187
+ //
188
+ // return reactTag
189
+ // }
190
+ //
191
+ // @objc(deleteVolumeProcessor:pcId:trackId:)
192
+ // public func deleteVolumeProcessor(_ reactTag: String, pcId: NSNumber, trackId: String) -> Any? {
193
+ // self.audioRendererManager.detach(rendererByTag: reactTag, pcId: pcId, trackId: trackId)
194
+ // self.audioRendererManager.unregisterRenderer(forReactTag: reactTag)
195
+ //
196
+ // return nil
197
+ // }
198
+ //
199
+ // @objc(createMultibandVolumeProcessor:pcId:trackId:)
200
+ // public func createMultibandVolumeProcessor(_ options: NSDictionary, pcId: NSNumber, trackId: String) -> String {
201
+ // let bands = (options["bands"] as? NSString)?.integerValue ?? 5
202
+ // let minFrequency = (options["minFrequency"] as? NSString)?.floatValue ?? 1000
203
+ // let maxFrequency = (options["maxFrequency"] as? NSString)?.floatValue ?? 8000
204
+ // let intervalMs = (options["updateInterval"] as? NSString)?.floatValue ?? 40
205
+ //
206
+ // let renderer = MultibandVolumeAudioRenderer(
207
+ // bands: bands,
208
+ // minFrequency: minFrequency,
209
+ // maxFrequency: maxFrequency,
210
+ // intervalMs: intervalMs,
211
+ // eventEmitter: self
212
+ // )
213
+ // let reactTag = self.audioRendererManager.registerRenderer(renderer)
214
+ // renderer.reactTag = reactTag
215
+ // self.audioRendererManager.attach(renderer: renderer, pcId: pcId, trackId: trackId)
216
+ //
217
+ // return reactTag
218
+ // }
219
+ //
220
+ // @objc(deleteMultibandVolumeProcessor:pcId:trackId:)
221
+ // public func deleteMultibandVolumeProcessor(_ reactTag: String, pcId: NSNumber, trackId: String) -> Any? {
222
+ // self.audioRendererManager.detach(rendererByTag: reactTag, pcId: pcId, trackId: trackId)
223
+ // self.audioRendererManager.unregisterRenderer(forReactTag: reactTag)
224
+ //
225
+ // return nil
226
+ // }
227
+ //
225
228
override public func supportedEvents( ) -> [ String ] ! {
226
229
return [
227
230
LKEvents . kEventVolumeProcessed,
0 commit comments