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
val 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
val screenShareTrack: VideoTrack
Link copied to clipboard
val screenShareVideoSource: VideoSource
Link copied to clipboard
val videoSource: VideoSource
Link copied to clipboard
val videoTrack: VideoTrack

Functions

Link copied to clipboard
fun cleanup()