From 15aa7ecc2e2692a094429ba547c634fd0cc2fd0e Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Fri, 1 May 2020 21:54:26 -0700 Subject: [PATCH] Add a friendly error message when no video traffic is received --- app/src/main/java/com/limelight/Game.java | 16 ++++++++++++++-- .../com/limelight/nvstream/jni/MoonBridge.java | 3 +++ .../main/jni/moonlight-core/moonlight-common-c | 2 +- app/src/main/res/values/strings.xml | 1 + 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index a91ee4f4..331bb7c3 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -1538,9 +1538,21 @@ public class Game extends Activity implements SurfaceHolder.Callback, // Display the error dialog if it was an unexpected termination. // Otherwise, just finish the activity immediately. - if (errorCode != 0) { + if (errorCode != MoonBridge.ML_ERROR_GRACEFUL_TERMINATION) { + String message; + + switch (errorCode) { + case MoonBridge.ML_ERROR_NO_VIDEO_TRAFFIC: + message = getResources().getString(R.string.no_video_received_error); + break; + + default: + message = getResources().getString(R.string.conn_terminated_msg); + break; + } + Dialog.displayDialog(Game.this, getResources().getString(R.string.conn_terminated_title), - getResources().getString(R.string.conn_terminated_msg), true); + message, true); } else { finish(); diff --git a/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java b/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java index 9b0c9a7e..fb4c041e 100644 --- a/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java +++ b/app/src/main/java/com/limelight/nvstream/jni/MoonBridge.java @@ -33,6 +33,9 @@ public class MoonBridge { public static final int CONN_STATUS_OKAY = 0; public static final int CONN_STATUS_POOR = 1; + public static final int ML_ERROR_GRACEFUL_TERMINATION = 0; + public static final int ML_ERROR_NO_VIDEO_TRAFFIC = -100; + private static AudioRenderer audioRenderer; private static VideoDecoderRenderer videoRenderer; private static NvConnectionListener connectionListener; diff --git a/app/src/main/jni/moonlight-core/moonlight-common-c b/app/src/main/jni/moonlight-core/moonlight-common-c index 247b1fe0..f596e805 160000 --- a/app/src/main/jni/moonlight-core/moonlight-common-c +++ b/app/src/main/jni/moonlight-core/moonlight-common-c @@ -1 +1 @@ -Subproject commit 247b1fe0e32d80ce02ede4c2b4a835b9c085abe4 +Subproject commit f596e805755cf0b83c14375bc5c9aa182b1766e0 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4348f0b5..3a328cb2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -61,6 +61,7 @@ USB access is prohibited by your device administrator. Check your Knox or MDM settings. Your current launcher does not allow for creating pinned shortcuts. Video decoder failed to initialize. Your device may not support the selected resolution or frame rate. + No video received from host. Check the host PC\'s firewall and port forwarding rules. Establishing Connection