Package-level declarations
Types
Link copied to clipboard
interface CallActions
Interface for call actions that can be performed on a participant.
Link copied to clipboard
class CallHealthMonitor(val call: Call, val callScope: CoroutineScope, val onIceRecoveryFailed: () -> Unit)
Monitors
Link copied to clipboard
data class CallStatsReport(val publisher: RtcStatsReport?, val subscriber: RtcStatsReport?, val local: LocalStats?, val stateStats: CallStats)
Link copied to clipboard
data class CameraDeviceWrapped(val id: String, val characteristics: CameraCharacteristics?, val supportedFormats: MutableList<CameraEnumerationAndroid.CaptureFormat>?, val maxResolution: Int, val direction: CameraDirection?)
Link copied to clipboard
Link copied to clipboard
class CameraManager(val mediaManager: MediaManagerImpl, val eglBaseContext: EglBase.Context, val cameraCharacteristicsValidator: CameraCharacteristicsValidator, defaultCameraDirection: CameraDirection = CameraDirection.Front)
The CameraManager class makes it easy to manage the camera for your video call
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class CreateCallOptions(val memberIds: List<String>? = null, val members: List<MemberRequest>? = null, val custom: Map<String, Any>? = null, val settings: CallSettingsRequest? = null, val startsAt: OffsetDateTime? = null, val team: String? = null)
Link copied to clipboard
Link copied to clipboard
class EventSubscription(val listener: VideoEventListener<VideoEvent>, val filter: (VideoEvent) -> Boolean? = null)
Link copied to clipboard
Link copied to clipboard
class MediaManagerImpl(val context: Context, val call: Call, val scope: CoroutineScope, val eglBaseContext: EglBase.Context, val audioUsage: Int = defaultAudioUsage, val audioUsageProvider: () -> Int = { audioUsage })
Wrap all the audio/video interactions This makes it easier to test our codebase
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class MicrophoneManager(val mediaManager: MediaManagerImpl, val audioUsage: Int, val audioUsageProvider: () -> Int)
The Microphone manager makes it easy to use your microphone in a call
Link copied to clipboard
data class ParticipantState(var sessionId: String = "", scope: CoroutineScope, callActions: CallActions, initialUserId: String, val source: <Error class: unknown class> = ParticipantSource.PARTICIPANT_SOURCE_WEBRTC_UNSPECIFIED, var trackLookupPrefix: String = "")
Represents the state of a participant in a call.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class SpeakerManager(val mediaManager: MediaManagerImpl, val microphoneManager: MicrophoneManager, val initialVolume: Int? = null)
Link copied to clipboard
The main interface to control the Video calls. StreamVideoClient implements this interface.
Link copied to clipboard
class StreamVideoBuilder @JvmOverloads 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, callServiceConfigRegistry: CallServiceConfigRegistry? = null, localSfuAddress: String? = null, sounds: Sounds = defaultResourcesRingingConfig(context).toSounds(), vibrationConfig: RingingCallVibrationConfig = disableVibrationConfig(), crashOnMissingPermission: Boolean = false, permissionCheck: StreamPermissionCheck = DefaultStreamPermissionCheck(), audioUsage: Int = defaultAudioUsage, appName: String? = null, audioProcessing: ManagedAudioProcessingFactory? = null, leaveAfterDisconnectSeconds: Long = 30, callUpdatesAfterLeave: Boolean = false, enableStatsReporting: Boolean = true, enableStereoForSubscriber: Boolean = true)
The StreamVideoBuilder is used to create a new instance of the StreamVideo client. This is the most essential class to connect to the Stream server and initialize everything you need to implement audio/video calls.
Link copied to clipboard
interface StreamVideoConfig
Link copied to clipboard
Properties
Inherited functions
Link copied to clipboard
inline fun <T : VideoEvent> StreamVideo.subscribeFor(listener: VideoEventListener<T>): EventSubscription
Extension function that makes it easy to use on kotlin, but keeps Java usable as well
Link copied to clipboard
Link copied to clipboard