StreamVideoBuilder

constructor(context: Context, apiKey: ApiKey, geo: GEO = GEO.GlobalEdgeNetwork, user: User = User.anonymous(), token: UserToken = "", legacyTokenProvider: suspend (error: Throwable?) -> String? = null, tokenProvider: TokenProvider = legacyTokenProvider?.let { legacy -> object : TokenProvider { override suspend fun loadToken(): String = legacy.invoke(null) } } ?: ConstantTokenProvider(token), loggingLevel: LoggingLevel = LoggingLevel(), notificationConfig: NotificationConfig = NotificationConfig(), ringNotification: (call: Call) -> Notification?? = null, connectionTimeoutInMs: Long = 10000, ensureSingleInstance: Boolean = true, videoDomain: String = "video.stream-io-api.com", runForegroundServiceForCalls: Boolean = true, callServiceConfig: CallServiceConfig? = null, localSfuAddress: String? = null, sounds: Sounds = defaultResourcesRingingConfig(context).toSounds(), crashOnMissingPermission: Boolean = false, permissionCheck: StreamPermissionCheck = DefaultStreamPermissionCheck(), audioUsage: Int = defaultAudioUsage, appName: String? = null, audioProcessing: ManagedAudioProcessingFactory? = null, leaveAfterDisconnectSeconds: Long = 30)