ImageRender
fun setupVirtualDisplay(): ImageReader? {
val width = (metrics.widthPixels * scale).toInt()
val height = (metrics.heightPixels * scale).toInt()
val reader = ImageReader.newInstance(width , height, PixelFormat.RGBA_8888, 2).also
{ it.setOnImageAvailableListener(this, null) }
virtualDisplay = mediaProjection?.createVirtualDisplay(
"Capturing Display",
width,
height,
metrics.densityDpi,
DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
reader!!.surface,
null,
null
)
callback.changeState(StatesType.Running)
return reader