Skip to content

Commit 8c5fab1

Browse files
committed
Add additional JVM exception checks (#260)
1 parent b3888d4 commit 8c5fab1

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

jni/com/amazonaws/kinesis/video/producer/jni/KinesisVideoClientWrapper.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,10 @@ void KinesisVideoClientWrapper::getKinesisVideoMetrics(jobject kinesisVideoMetri
227227
metrics.totalContentViewsSize,
228228
metrics.totalFrameRate,
229229
metrics.totalTransferRate);
230+
CHK_JVM_EXCEPTION(env);
231+
232+
CleanUp:
233+
CHK_LOG_ERR(retStatus);
230234
}
231235

232236
void KinesisVideoClientWrapper::getKinesisVideoStreamMetrics(jlong streamHandle, jobject kinesisVideoStreamMetrics)
@@ -292,6 +296,10 @@ void KinesisVideoClientWrapper::getKinesisVideoStreamMetrics(jlong streamHandle,
292296
metrics.currentViewDuration,
293297
metrics.currentFrameRate,
294298
metrics.currentTransferRate);
299+
CHK_JVM_EXCEPTION(env);
300+
301+
CleanUp:
302+
CHK_LOG_ERR(retStatus);
295303
}
296304

297305
STREAM_HANDLE KinesisVideoClientWrapper::createKinesisVideoStream(jobject streamInfo)
@@ -567,6 +575,7 @@ void KinesisVideoClientWrapper::getKinesisVideoStreamData(jlong streamHandle, jl
567575
setterMethodId,
568576
filledSize,
569577
isEos);
578+
CHK_JVM_EXCEPTION(env);
570579

571580
CleanUp:
572581

@@ -2389,6 +2398,7 @@ STATUS KinesisVideoClientWrapper::getAuthInfo(jmethodID methodId, PBYTE* ppCert,
23892398

23902399
// Call the Java func
23912400
jAuthInfoObj = env->CallObjectMethod(pWrapper->getJavaObjectRef(), methodId);
2401+
CHK_JVM_EXCEPTION(env);
23922402
if (jAuthInfoObj == NULL) {
23932403
DLOGE("Failed to get the object for the AuthInfo object. methodId %s", methodId);
23942404
retStatus = STATUS_INVALID_ARG;
@@ -2684,7 +2694,7 @@ VOID KinesisVideoClientWrapper::logPrintFunc(UINT32 level, PCHAR tag, PCHAR fmt,
26842694
<< "Level: " << level << ", Tag: " << (tag ? tag : "NULL")
26852695
<< ", Message: " << buffer << std::endl;
26862696

2687-
CHK(FALSE, STATUS_SUCCESS);
2697+
return;
26882698
}
26892699
CHK(pWrapper->getJVM() != NULL, STATUS_SUCCESS);
26902700

@@ -2759,7 +2769,7 @@ VOID KinesisVideoClientWrapper::logPrintFunc(UINT32 level, PCHAR tag, PCHAR fmt,
27592769
}
27602770

27612771
// Detach the thread if we have attached it to JVM
2762-
if (attached && pWrapper != nullptr) {
2772+
if (attached && pWrapper != nullptr && pWrapper->getJVM() != nullptr) {
27632773
pWrapper->getJVM()->DetachCurrentThread();
27642774
}
27652775
});

0 commit comments

Comments
 (0)