Cath
03/21/2021, 10:26 PMsuspend fun handle(cameraFragment: CameraFragment) {
<http://client.ws|client.ws>(
method = HttpMethod.Get,
host = httpUrl,
port = httpPort,
path = "/exchange"
) {
for (message in incoming)
if (message is Frame.Text) {
Log.d(TAG, "Received msg: ${message.readText()}")
when (message.readText()) {
"!request_url" -> {
send(cameraFragment.rtspUrl())
}
"!request_img" -> {
val byteArray: ByteArray? = cameraFragment.captureImageAsByteArray()
if (byteArray != null)
send(Frame.Binary(true, byteArray))
}
}
}
}
}
called using
CoroutineScope(<http://Dispatchers.IO|Dispatchers.IO>).launch {
SimpleAsyncClient(
args.ownerAddress,
args.ownerPort,
this@CameraFragment
).handle(this@CameraFragment)
}
Edit: Issue's caused by the calls to send, fixed it now