in app/src/main/java/com/amazon/ivs/broadcast/ui/fragments/main/MainViewModel.kt [294:315]
fun startScreenCapture(data: Intent?) {
Timber.d("Starting screen capture")
isScreenShareEnabled.postConsumable(true)
slotNames.forEach { slot ->
session?.mixer?.removeSlot(slot)?.takeIf { it }?.run {
Timber.d("Slot: $slot removed")
}
}
configurationViewModel.screenShareSlots.forEach { slot ->
session?.mixer?.addSlot(slot)?.takeIf { it }?.run {
Timber.d("Slot: ${slot.name} added")
}
}
session?.createSystemCaptureSources(data, ScreenCaptureService::class.java, createNotification()) { devices ->
devices.forEach { device ->
val boundState = session?.mixer?.getDeviceBinding(device)
Timber.d("Screen share device added: ${device.descriptor.friendlyName} to slot: $boundState")
}
screenDevices = devices
reloadDevices()
}
}