Update moonlight-common-c with connection listener and build warning fixes

This commit is contained in:
Cameron Gutman 2019-03-20 18:29:56 -07:00
parent 69b175573d
commit 1bffa6bf41
4 changed files with 26 additions and 41 deletions

View File

@ -7,6 +7,7 @@ public interface NvConnectionListener {
void connectionStarted(); void connectionStarted();
void connectionTerminated(long errorCode); void connectionTerminated(long errorCode);
void connectionStatusUpdate(int connectionStatus);
void displayMessage(String message); void displayMessage(String message);
void displayTransientMessage(String message); void displayTransientMessage(String message);

View File

@ -29,6 +29,9 @@ public class MoonBridge {
public static final int DR_OK = 0; public static final int DR_OK = 0;
public static final int DR_NEED_IDR = -1; public static final int DR_NEED_IDR = -1;
public static final int CONN_STATUS_OKAY = 0;
public static final int CONN_STATUS_POOR = 1;
private static AudioRenderer audioRenderer; private static AudioRenderer audioRenderer;
private static VideoDecoderRenderer videoRenderer; private static VideoDecoderRenderer videoRenderer;
private static NvConnectionListener connectionListener; private static NvConnectionListener connectionListener;
@ -144,24 +147,18 @@ public class MoonBridge {
} }
} }
public static void bridgeClDisplayMessage(String message) {
if (connectionListener != null) {
connectionListener.displayMessage(message);
}
}
public static void bridgeClDisplayTransientMessage(String message) {
if (connectionListener != null) {
connectionListener.displayTransientMessage(message);
}
}
public static void bridgeClRumble(short controllerNumber, short lowFreqMotor, short highFreqMotor) { public static void bridgeClRumble(short controllerNumber, short lowFreqMotor, short highFreqMotor) {
if (connectionListener != null) { if (connectionListener != null) {
connectionListener.rumble(controllerNumber, lowFreqMotor, highFreqMotor); connectionListener.rumble(controllerNumber, lowFreqMotor, highFreqMotor);
} }
} }
public static void bridgeClConnectionStatusUpdate(int connectionStatus) {
if (connectionListener != null) {
connectionListener.connectionStatusUpdate(connectionStatus);
}
}
public static void setupBridge(VideoDecoderRenderer videoRenderer, AudioRenderer audioRenderer, NvConnectionListener connectionListener) { public static void setupBridge(VideoDecoderRenderer videoRenderer, AudioRenderer audioRenderer, NvConnectionListener connectionListener) {
MoonBridge.videoRenderer = videoRenderer; MoonBridge.videoRenderer = videoRenderer;
MoonBridge.audioRenderer = audioRenderer; MoonBridge.audioRenderer = audioRenderer;

View File

@ -32,9 +32,8 @@ static jmethodID BridgeClStageCompleteMethod;
static jmethodID BridgeClStageFailedMethod; static jmethodID BridgeClStageFailedMethod;
static jmethodID BridgeClConnectionStartedMethod; static jmethodID BridgeClConnectionStartedMethod;
static jmethodID BridgeClConnectionTerminatedMethod; static jmethodID BridgeClConnectionTerminatedMethod;
static jmethodID BridgeClDisplayMessageMethod;
static jmethodID BridgeClDisplayTransientMessageMethod;
static jmethodID BridgeClRumbleMethod; static jmethodID BridgeClRumbleMethod;
static jmethodID BridgeClConnectionStatusUpdateMethod;
static jbyteArray DecodedFrameBuffer; static jbyteArray DecodedFrameBuffer;
static jbyteArray DecodedAudioBuffer; static jbyteArray DecodedAudioBuffer;
@ -93,9 +92,8 @@ Java_com_limelight_nvstream_jni_MoonBridge_init(JNIEnv *env, jclass clazz) {
BridgeClStageFailedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClStageFailed", "(IJ)V"); BridgeClStageFailedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClStageFailed", "(IJ)V");
BridgeClConnectionStartedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClConnectionStarted", "()V"); BridgeClConnectionStartedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClConnectionStarted", "()V");
BridgeClConnectionTerminatedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClConnectionTerminated", "(J)V"); BridgeClConnectionTerminatedMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClConnectionTerminated", "(J)V");
BridgeClDisplayMessageMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClDisplayMessage", "(Ljava/lang/String;)V");
BridgeClDisplayTransientMessageMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClDisplayTransientMessage", "(Ljava/lang/String;)V");
BridgeClRumbleMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClRumble", "(SSS)V"); BridgeClRumbleMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClRumble", "(SSS)V");
BridgeClConnectionStatusUpdateMethod = (*env)->GetStaticMethodID(env, clazz, "bridgeClConnectionStatusUpdate", "(I)V");
} }
int BridgeDrSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags) { int BridgeDrSetup(int videoFormat, int width, int height, int redrawRate, void* context, int drFlags) {
@ -345,27 +343,7 @@ void BridgeClConnectionTerminated(long errorCode) {
(*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClConnectionTerminatedMethod, errorCode); (*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClConnectionTerminatedMethod, errorCode);
} }
void BridgeClDisplayMessage(const char* message) { void BridgeClRumble(unsigned short controllerNumber, unsigned short lowFreqMotor, unsigned short highFreqMotor) {
JNIEnv* env = GetThreadEnv();
if ((*env)->ExceptionCheck(env)) {
return;
}
(*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClDisplayMessageMethod, (*env)->NewStringUTF(env, message));
}
void BridgeClDisplayTransientMessage(const char* message) {
JNIEnv* env = GetThreadEnv();
if ((*env)->ExceptionCheck(env)) {
return;
}
(*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClDisplayTransientMessageMethod, (*env)->NewStringUTF(env, message));
}
void BridgeClRumble(short controllerNumber, short lowFreqMotor, short highFreqMotor) {
JNIEnv* env = GetThreadEnv(); JNIEnv* env = GetThreadEnv();
if ((*env)->ExceptionCheck(env)) { if ((*env)->ExceptionCheck(env)) {
@ -375,6 +353,16 @@ void BridgeClRumble(short controllerNumber, short lowFreqMotor, short highFreqMo
(*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClRumbleMethod, controllerNumber, lowFreqMotor, highFreqMotor); (*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClRumbleMethod, controllerNumber, lowFreqMotor, highFreqMotor);
} }
void BridgeClConnectionStatusUpdate(int connectionStatus) {
JNIEnv* env = GetThreadEnv();
if ((*env)->ExceptionCheck(env)) {
return;
}
(*env)->CallStaticVoidMethod(env, GlobalBridgeClass, BridgeClConnectionStatusUpdateMethod, connectionStatus);
}
void BridgeClLogMessage(const char* format, ...) { void BridgeClLogMessage(const char* format, ...) {
va_list va; va_list va;
va_start(va, format); va_start(va, format);
@ -404,10 +392,9 @@ static CONNECTION_LISTENER_CALLBACKS BridgeConnListenerCallbacks = {
.stageFailed = BridgeClStageFailed, .stageFailed = BridgeClStageFailed,
.connectionStarted = BridgeClConnectionStarted, .connectionStarted = BridgeClConnectionStarted,
.connectionTerminated = BridgeClConnectionTerminated, .connectionTerminated = BridgeClConnectionTerminated,
.displayMessage = BridgeClDisplayMessage,
.displayTransientMessage = BridgeClDisplayTransientMessage,
.logMessage = BridgeClLogMessage, .logMessage = BridgeClLogMessage,
.rumble = BridgeClRumble .rumble = BridgeClRumble,
.connectionStatusUpdate = BridgeClConnectionStatusUpdate,
}; };
JNIEXPORT jint JNICALL JNIEXPORT jint JNICALL

@ -1 +1 @@
Subproject commit 83d7f675a7e49cea371561b74cd0d3672b64e9f9 Subproject commit e9bc1070b716e1cd79646cba9e02293f1ffb4c3b