in src/JNI/com/amazonaws/kinesis/video/producer/jni/Parameters.cpp [157:230]
BOOL setClientInfo(JNIEnv *env, jobject clientInfo, PClientInfo pClientInfo) {
STATUS retStatus = STATUS_SUCCESS;
jmethodID methodId = NULL;
const char *retChars;
CHECK(env != NULL && clientInfo != NULL && pClientInfo != NULL);
// Load ClientInfo
jclass cls = env->GetObjectClass(clientInfo);
if (cls == NULL) {
DLOGE("Failed to create ClientInfo class.");
CHK(FALSE, STATUS_INVALID_OPERATION);
}
// Retrieve the methods and call it
methodId = env->GetMethodID(cls, "getVersion", "()I");
if (methodId == NULL) {
DLOGW("Couldn't find method id getVersion");
} else {
pClientInfo->version = env->CallIntMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getCreateClientTimeout", "()J");
if (methodId == NULL) {
DLOGW("Couldn't find method id getCreateClientTimeout");
} else {
pClientInfo->createClientTimeout = env->CallLongMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getCreateStreamTimeout", "()J");
if (methodId == NULL) {
DLOGW("Couldn't find method id getCreateStreamTimeout");
} else {
pClientInfo->createStreamTimeout = env->CallLongMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getStopStreamTimeout", "()J");
if (methodId == NULL) {
DLOGW("Couldn't find method id getStopStreamTimeout");
} else {
pClientInfo->stopStreamTimeout = env->CallLongMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getOfflineBufferAvailabilityTimeout", "()J");
if (methodId == NULL) {
DLOGW("Couldn't find method id getOfflineBufferAvailabilityTimeout");
} else {
pClientInfo->offlineBufferAvailabilityTimeout = env->CallLongMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getLoggerLogLevel", "()I");
if (methodId == NULL) {
DLOGW("Couldn't find method id getLoggerLogLevel");
} else {
pClientInfo->loggerLogLevel = env->CallIntMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
methodId = env->GetMethodID(cls, "getLogMetric", "()Z");
if (methodId == NULL) {
DLOGW("Couldn't find method id getLogMetric");
} else {
pClientInfo->logMetric = env->CallBooleanMethod(clientInfo, methodId);
CHK_JVM_EXCEPTION(env);
}
CleanUp:
return STATUS_FAILED(retStatus) ? FALSE : TRUE;
}