mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-08-05 07:41:23 +00:00
Made FCastCastingDevice more able to reconnect.
This commit is contained in:
parent
52d833d726
commit
7bfab8409f
2 changed files with 13 additions and 6 deletions
|
@ -261,7 +261,8 @@ class FCastCastingDevice : CastingDevice {
|
||||||
val buffer = ByteArray(4096);
|
val buffer = ByteArray(4096);
|
||||||
|
|
||||||
Logger.i(TAG, "Started receiving.");
|
Logger.i(TAG, "Started receiving.");
|
||||||
while (_scopeIO?.isActive == true) {
|
var exceptionOccurred = false;
|
||||||
|
while (_scopeIO?.isActive == true && !exceptionOccurred) {
|
||||||
try {
|
try {
|
||||||
val inputStream = _inputStream ?: break;
|
val inputStream = _inputStream ?: break;
|
||||||
Log.d(TAG, "Receiving next packet...");
|
Log.d(TAG, "Receiving next packet...");
|
||||||
|
@ -289,20 +290,25 @@ class FCastCastingDevice : CastingDevice {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
handleMessage(Opcode.values().first { it.value == opcode }, json);
|
handleMessage(Opcode.entries.first { it.value == opcode }, json);
|
||||||
} catch (e:Throwable) {
|
} catch (e:Throwable) {
|
||||||
Logger.w(TAG, "Failed to handle message.", e);
|
Logger.w(TAG, "Failed to handle message.", e);
|
||||||
}
|
}
|
||||||
} catch (e: java.net.SocketException) {
|
} catch (e: java.net.SocketException) {
|
||||||
Logger.e(TAG, "Socket exception while receiving.", e);
|
Logger.e(TAG, "Socket exception while receiving.", e);
|
||||||
break;
|
exceptionOccurred = true;
|
||||||
} catch (e: Throwable) {
|
} catch (e: Throwable) {
|
||||||
Logger.e(TAG, "Exception while receiving.", e);
|
Logger.e(TAG, "Exception while receiving.", e);
|
||||||
break;
|
exceptionOccurred = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_socket?.close();
|
|
||||||
Logger.i(TAG, "Socket disconnected.");
|
try {
|
||||||
|
_socket?.close();
|
||||||
|
Logger.i(TAG, "Socket disconnected.");
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
Logger.e(TAG, "Failed to close socket.", e)
|
||||||
|
}
|
||||||
|
|
||||||
connectionState = CastConnectionState.CONNECTING;
|
connectionState = CastConnectionState.CONNECTING;
|
||||||
Thread.sleep(3000);
|
Thread.sleep(3000);
|
||||||
|
|
|
@ -124,6 +124,7 @@ class CastView : ConstraintLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateNextPrevious();
|
||||||
_buttonPrevious.setOnClickListener { onPrevious.emit() };
|
_buttonPrevious.setOnClickListener { onPrevious.emit() };
|
||||||
_buttonNext.setOnClickListener { onNext.emit() };
|
_buttonNext.setOnClickListener { onNext.emit() };
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue