MediaManagerImpl

class MediaManagerImpl(    val context: Context,     val call: Call,     val scope: CoroutineScope,     val eglBaseContext: EglBase.Context,     val audioUsage: Int = defaultAudioUsage)

Wrap all the audio/video interactions This makes it easier to test our codebase

This class knows about audio/ video. It shouldn't be aware of webrtc tracks. Those are handled in the RtcSession

See also

RtcSession

The Rtc session observes these stateflows and updates accordingly

For development on this library also see:

AudioSwitch
BluetoothHeadsetManager

Constructors

Link copied to clipboard
constructor(context: Context, call: Call, scope: CoroutineScope, eglBaseContext: EglBase.Context, audioUsage: Int = defaultAudioUsage)

Properties

Link copied to clipboard
val audioSource: AudioSource
Link copied to clipboard
var audioTrack: AudioTrack
Link copied to clipboard
Link copied to clipboard
val call: Call
Link copied to clipboard
Link copied to clipboard
val eglBaseContext: EglBase.Context
Link copied to clipboard
val scope: CoroutineScope
Link copied to clipboard
var screenShareTrack: VideoTrack
Link copied to clipboard
val screenShareVideoSource: VideoSource
Link copied to clipboard
val videoSource: VideoSource
Link copied to clipboard
var videoTrack: VideoTrack

Functions

Link copied to clipboard
fun cleanup()