Loading media/jni/android_media_tv_Tuner.cpp +81 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,7 @@ void LnbClientCallbackImpl::onEvent(const LnbEventType lnbEventType) { lnb, gFields.onLnbEventID, (jint)lnbEventType); env->DeleteLocalRef(lnb); } else { ALOGE("LnbClientCallbackImpl::onEvent:" "Lnb object has been freed. Ignoring callback."); Loading @@ -378,6 +379,7 @@ void LnbClientCallbackImpl::onDiseqcMessage(const vector<uint8_t> &diseqcMessage lnb, gFields.onLnbDiseqcMessageID, array); env->DeleteLocalRef(lnb); } else { ALOGE("LnbClientCallbackImpl::onDiseqcMessage:" "Lnb object has been freed. Ignoring callback."); Loading @@ -404,6 +406,7 @@ void DvrClientCallbackImpl::onRecordStatus(RecordStatus status) { jobject dvr(env->NewLocalRef(mDvrObj)); if (!env->IsSameObject(dvr, nullptr)) { env->CallVoidMethod(dvr, gFields.onDvrRecordStatusID, (jint)status); env->DeleteLocalRef(dvr); } else { ALOGE("DvrClientCallbackImpl::onRecordStatus:" "Dvr object has been freed. Ignoring callback."); Loading @@ -416,6 +419,7 @@ void DvrClientCallbackImpl::onPlaybackStatus(PlaybackStatus status) { jobject dvr(env->NewLocalRef(mDvrObj)); if (!env->IsSameObject(dvr, nullptr)) { env->CallVoidMethod(dvr, gFields.onDvrPlaybackStatusID, (jint)status); env->DeleteLocalRef(dvr); } else { ALOGE("DvrClientCallbackImpl::onPlaybackStatus:" "Dvr object has been freed. Ignoring callback."); Loading Loading @@ -603,6 +607,7 @@ void FilterClientCallbackImpl::getSectionEvent(jobjectArray &arr, const int size jobject obj = env->NewObject(eventClazz, eventInit, tableId, version, sectionNum, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getMediaEvent(jobjectArray &arr, const int size, Loading Loading @@ -673,6 +678,10 @@ void FilterClientCallbackImpl::getMediaEvent(jobjectArray &arr, const int size, } env->SetObjectArrayElement(arr, size, obj); if(audioDescriptor != nullptr) { env->DeleteLocalRef(audioDescriptor); } env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getPesEvent(jobjectArray &arr, const int size, Loading @@ -688,6 +697,7 @@ void FilterClientCallbackImpl::getPesEvent(jobjectArray &arr, const int size, jobject obj = env->NewObject(eventClazz, eventInit, streamId, dataLength, mpuSequenceNumber); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getTsRecordEvent(jobjectArray &arr, const int size, Loading Loading @@ -725,6 +735,7 @@ void FilterClientCallbackImpl::getTsRecordEvent(jobjectArray &arr, const int siz jobject obj = env->NewObject(eventClazz, eventInit, jpid, ts, sc, byteNumber, pts, firstMbInSlice); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getMmtpRecordEvent(jobjectArray &arr, const int size, Loading @@ -745,6 +756,7 @@ void FilterClientCallbackImpl::getMmtpRecordEvent(jobjectArray &arr, const int s jobject obj = env->NewObject(eventClazz, eventInit, scHevcIndexMask, byteNumber, mpuSequenceNumber, pts, firstMbInSlice, tsIndexMask); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getDownloadEvent(jobjectArray &arr, const int size, Loading @@ -764,6 +776,7 @@ void FilterClientCallbackImpl::getDownloadEvent(jobjectArray &arr, const int siz jobject obj = env->NewObject(eventClazz, eventInit, itemId, downloadId, mpuSequenceNumber, itemFragmentIndex, lastItemFragmentIndex, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getIpPayloadEvent(jobjectArray &arr, const int size, Loading @@ -776,6 +789,7 @@ void FilterClientCallbackImpl::getIpPayloadEvent(jobjectArray &arr, const int si jint dataLength = ipPayloadEvent.dataLength; jobject obj = env->NewObject(eventClazz, eventInit, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getTemiEvent(jobjectArray &arr, const int size, Loading @@ -794,6 +808,8 @@ void FilterClientCallbackImpl::getTemiEvent(jobjectArray &arr, const int size, jobject obj = env->NewObject(eventClazz, eventInit, pts, descrTag, array); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(array); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getScramblingStatusEvent(jobjectArray &arr, const int size, Loading @@ -807,6 +823,7 @@ void FilterClientCallbackImpl::getScramblingStatusEvent(jobjectArray &arr, const .get<DemuxFilterMonitorEvent::Tag::scramblingStatus>(); jobject obj = env->NewObject(eventClazz, eventInit, scramblingStatus); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getIpCidChangeEvent(jobjectArray &arr, const int size, Loading @@ -819,6 +836,7 @@ void FilterClientCallbackImpl::getIpCidChangeEvent(jobjectArray &arr, const int .get<DemuxFilterMonitorEvent::Tag::cid>(); jobject obj = env->NewObject(eventClazz, eventInit, cid); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getRestartEvent(jobjectArray &arr, const int size, Loading Loading @@ -922,10 +940,12 @@ void FilterClientCallbackImpl::onFilterEvent(const vector<DemuxFilterEvent> &eve methodID = gFields.onSharedFilterEventID; } env->CallVoidMethod(filter, methodID, array); env->DeleteLocalRef(filter); } else { ALOGE("FilterClientCallbackImpl::onFilterEvent:" "Filter object has been freed. Ignoring callback."); } env->DeleteLocalRef(array); } void FilterClientCallbackImpl::onFilterStatus(const DemuxFilterStatus status) { Loading @@ -938,6 +958,7 @@ void FilterClientCallbackImpl::onFilterStatus(const DemuxFilterStatus status) { methodID = gFields.onSharedFilterStatusID; } env->CallVoidMethod(filter, methodID, (jint)static_cast<uint8_t>(status)); env->DeleteLocalRef(filter); } else { ALOGE("FilterClientCallbackImpl::onFilterStatus:" "Filter object has been freed. Ignoring callback."); Loading Loading @@ -1006,6 +1027,7 @@ void FrontendClientCallbackImpl::onEvent(FrontendEventType frontendEventType) { frontend, gFields.onFrontendEventID, (jint)frontendEventType); env->DeleteLocalRef(frontend); } else { ALOGW("FrontendClientCallbackImpl::onEvent:" "Frontend object has been freed. Ignoring callback."); Loading @@ -1028,6 +1050,7 @@ void FrontendClientCallbackImpl::onScanMessage( continue; } executeOnScanMessage(env, clazz, frontend, type, message); env->DeleteLocalRef(frontend); } } Loading Loading @@ -1069,6 +1092,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetLongArrayRegion(freqs, 0, v.size(), reinterpret_cast<jlong *>(&v[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onFrequenciesReport", "([J)V"), freqs); env->DeleteLocalRef(freqs); break; } case FrontendScanMessageType::SYMBOL_RATE: { Loading @@ -1077,6 +1101,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(symbolRates, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onSymbolRates", "([I)V"), symbolRates); env->DeleteLocalRef(symbolRates); break; } case FrontendScanMessageType::HIERARCHY: { Loading @@ -1094,6 +1119,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jintArray plpIds = env->NewIntArray(jintV.size()); env->SetIntArrayRegion(plpIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onPlpIds", "([I)V"), plpIds); env->DeleteLocalRef(plpIds); break; } case FrontendScanMessageType::GROUP_IDS: { Loading @@ -1101,6 +1127,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jintArray groupIds = env->NewIntArray(jintV.size()); env->SetIntArrayRegion(groupIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onGroupIds", "([I)V"), groupIds); env->DeleteLocalRef(groupIds); break; } case FrontendScanMessageType::INPUT_STREAM_IDS: { Loading @@ -1109,6 +1136,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(streamIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onInputStreamIds", "([I)V"), streamIds); env->DeleteLocalRef(streamIds); break; } case FrontendScanMessageType::STANDARD: { Loading Loading @@ -1142,12 +1170,14 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jboolean lls = info.bLlsFlag; jobject obj = env->NewObject(plpClazz, init, plpId, lls); env->SetObjectArrayElement(array, i, obj); env->DeleteLocalRef(obj); } env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onAtsc3PlpInfos", "([Landroid/media/tv/tuner/frontend/" "Atsc3PlpInfo;)V"), array); env->DeleteLocalRef(array); break; } case FrontendScanMessageType::MODULATION: { Loading Loading @@ -1219,6 +1249,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(cellIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onDvbtCellIdsReported", "([I)V"), cellIds); env->DeleteLocalRef(cellIds); break; } default: Loading Loading @@ -1673,6 +1704,7 @@ jobjectArray JTuner::getFrontendStatusReadiness(jintArray types) { for (int i = 0; i < size; i++) { jobject readinessObj = env->NewObject(clazz, init, intTypes[i], readiness[i]); env->SetObjectArrayElement(valObj, i, readinessObj); env->DeleteLocalRef(readinessObj); } return valObj; } Loading Loading @@ -2081,6 +2113,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isDemodLocked>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::snr: { Loading @@ -2088,6 +2121,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::snr>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::ber: { Loading @@ -2095,6 +2129,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::ber>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::per: { Loading @@ -2102,6 +2137,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::per>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::preBer: { Loading @@ -2109,6 +2145,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::preBer>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::signalQuality: { Loading @@ -2116,6 +2153,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::signalQuality>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::signalStrength: { Loading @@ -2124,6 +2162,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::signalStrength>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::symbolRate: { Loading @@ -2131,6 +2170,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::symbolRate>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::innerFec: { Loading @@ -2141,6 +2181,8 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(longClazz, initLong, static_cast<long>(s.get<FrontendStatus::Tag::innerFec>())); env->SetObjectField(statusObj, field, newLongObj); env->DeleteLocalRef(longClazz); env->DeleteLocalRef(newLongObj); break; } case FrontendStatus::Tag::modulationStatus: { Loading Loading @@ -2183,6 +2225,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intModulation); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2192,6 +2235,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::inversion>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::lnbVoltage: { Loading @@ -2200,6 +2244,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::lnbVoltage>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::plpId: { Loading @@ -2207,6 +2252,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::plpId>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isEWBS: { Loading @@ -2214,6 +2260,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isEWBS>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::agc: { Loading @@ -2221,6 +2268,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::agc>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isLnaOn: { Loading @@ -2228,6 +2276,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isLnaOn>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isLayerError: { Loading @@ -2241,6 +2290,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetBooleanArrayRegion(valObj, i, 1, &x); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::mer: { Loading @@ -2248,6 +2298,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::mer>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::freqOffset: { Loading @@ -2255,6 +2306,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newLongObj = env->NewObject(longClazz, initLong, s.get<FrontendStatus::Tag::freqOffset>()); env->SetObjectField(statusObj, field, newLongObj); env->DeleteLocalRef(newLongObj); break; } case FrontendStatus::Tag::hierarchy: { Loading @@ -2263,6 +2315,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::hierarchy>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isRfLocked: { Loading @@ -2270,6 +2323,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isRfLocked>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::plpInfo: { Loading @@ -2289,9 +2343,12 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject plpObj = env->NewObject(plpClazz, initPlp, plpId, isLocked, uec); env->SetObjectArrayElement(valObj, i, plpObj); env->DeleteLocalRef(plpObj); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::modulations: { Loading Loading @@ -2374,6 +2431,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { env->SetObjectField(statusObj, field, valObj); } env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::bers: { Loading @@ -2384,6 +2442,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::codeRates: { Loading @@ -2394,6 +2453,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::bandwidth: { Loading Loading @@ -2434,6 +2494,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intBandwidth); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading Loading @@ -2465,6 +2526,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intInterval); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading Loading @@ -2497,6 +2559,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intTransmissionMode); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2505,6 +2568,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::uec>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::systemId: { Loading @@ -2512,6 +2576,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::systemId>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::interleaving: { Loading Loading @@ -2558,6 +2623,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { env->SetObjectField(statusObj, field, valObj); } env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::isdbtSegment: { Loading @@ -2568,6 +2634,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint*>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::tsDataRate: { Loading @@ -2578,6 +2645,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::rollOff: { Loading Loading @@ -2605,6 +2673,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intRollOff); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2613,6 +2682,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isMiso>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isLinear: { Loading @@ -2620,6 +2690,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isLinear>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isShortFrames: { Loading @@ -2627,6 +2698,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isShortFrames>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isdbtMode: { Loading @@ -2634,6 +2706,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::isdbtMode>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::partialReceptionFlag: { Loading @@ -2643,6 +2716,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::partialReceptionFlag>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::streamIdList: { Loading @@ -2653,6 +2727,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&ids[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::dvbtCellIds: { Loading @@ -2663,6 +2738,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&ids[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::allPlpInfo: { Loading @@ -2678,9 +2754,12 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject plpObj = env->NewObject(plpClazz, initPlp, plpInfos[i].plpId, plpInfos[i].bLlsFlag); env->SetObjectArrayElement(valObj, i, plpObj); env->DeleteLocalRef(plpObj); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; } } Loading Loading @@ -2837,6 +2916,7 @@ static vector<FrontendAtsc3PlpSettings> getAtsc3PlpSettings(JNIEnv *env, const j .fec = fec, }; plps[i] = frontendAtsc3PlpSettings; env->DeleteLocalRef(plp); } return plps; } Loading Loading @@ -3192,6 +3272,7 @@ static FrontendSettings getIsdbtFrontendSettings(JNIEnv *env, const jobject& set env->GetIntField(layer, env->GetFieldID(layerClazz, "mCodeRate", "I"))); frontendIsdbtSettings.layerSettings[i].numOfSegment = env->GetIntField(layer, env->GetFieldID(layerClazz, "mNumOfSegments", "I")); env->DeleteLocalRef(layer); } frontendSettings.set<FrontendSettings::Tag::isdbt>(frontendIsdbtSettings); Loading Loading
media/jni/android_media_tv_Tuner.cpp +81 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,7 @@ void LnbClientCallbackImpl::onEvent(const LnbEventType lnbEventType) { lnb, gFields.onLnbEventID, (jint)lnbEventType); env->DeleteLocalRef(lnb); } else { ALOGE("LnbClientCallbackImpl::onEvent:" "Lnb object has been freed. Ignoring callback."); Loading @@ -378,6 +379,7 @@ void LnbClientCallbackImpl::onDiseqcMessage(const vector<uint8_t> &diseqcMessage lnb, gFields.onLnbDiseqcMessageID, array); env->DeleteLocalRef(lnb); } else { ALOGE("LnbClientCallbackImpl::onDiseqcMessage:" "Lnb object has been freed. Ignoring callback."); Loading @@ -404,6 +406,7 @@ void DvrClientCallbackImpl::onRecordStatus(RecordStatus status) { jobject dvr(env->NewLocalRef(mDvrObj)); if (!env->IsSameObject(dvr, nullptr)) { env->CallVoidMethod(dvr, gFields.onDvrRecordStatusID, (jint)status); env->DeleteLocalRef(dvr); } else { ALOGE("DvrClientCallbackImpl::onRecordStatus:" "Dvr object has been freed. Ignoring callback."); Loading @@ -416,6 +419,7 @@ void DvrClientCallbackImpl::onPlaybackStatus(PlaybackStatus status) { jobject dvr(env->NewLocalRef(mDvrObj)); if (!env->IsSameObject(dvr, nullptr)) { env->CallVoidMethod(dvr, gFields.onDvrPlaybackStatusID, (jint)status); env->DeleteLocalRef(dvr); } else { ALOGE("DvrClientCallbackImpl::onPlaybackStatus:" "Dvr object has been freed. Ignoring callback."); Loading Loading @@ -603,6 +607,7 @@ void FilterClientCallbackImpl::getSectionEvent(jobjectArray &arr, const int size jobject obj = env->NewObject(eventClazz, eventInit, tableId, version, sectionNum, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getMediaEvent(jobjectArray &arr, const int size, Loading Loading @@ -673,6 +678,10 @@ void FilterClientCallbackImpl::getMediaEvent(jobjectArray &arr, const int size, } env->SetObjectArrayElement(arr, size, obj); if(audioDescriptor != nullptr) { env->DeleteLocalRef(audioDescriptor); } env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getPesEvent(jobjectArray &arr, const int size, Loading @@ -688,6 +697,7 @@ void FilterClientCallbackImpl::getPesEvent(jobjectArray &arr, const int size, jobject obj = env->NewObject(eventClazz, eventInit, streamId, dataLength, mpuSequenceNumber); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getTsRecordEvent(jobjectArray &arr, const int size, Loading Loading @@ -725,6 +735,7 @@ void FilterClientCallbackImpl::getTsRecordEvent(jobjectArray &arr, const int siz jobject obj = env->NewObject(eventClazz, eventInit, jpid, ts, sc, byteNumber, pts, firstMbInSlice); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getMmtpRecordEvent(jobjectArray &arr, const int size, Loading @@ -745,6 +756,7 @@ void FilterClientCallbackImpl::getMmtpRecordEvent(jobjectArray &arr, const int s jobject obj = env->NewObject(eventClazz, eventInit, scHevcIndexMask, byteNumber, mpuSequenceNumber, pts, firstMbInSlice, tsIndexMask); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getDownloadEvent(jobjectArray &arr, const int size, Loading @@ -764,6 +776,7 @@ void FilterClientCallbackImpl::getDownloadEvent(jobjectArray &arr, const int siz jobject obj = env->NewObject(eventClazz, eventInit, itemId, downloadId, mpuSequenceNumber, itemFragmentIndex, lastItemFragmentIndex, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getIpPayloadEvent(jobjectArray &arr, const int size, Loading @@ -776,6 +789,7 @@ void FilterClientCallbackImpl::getIpPayloadEvent(jobjectArray &arr, const int si jint dataLength = ipPayloadEvent.dataLength; jobject obj = env->NewObject(eventClazz, eventInit, dataLength); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getTemiEvent(jobjectArray &arr, const int size, Loading @@ -794,6 +808,8 @@ void FilterClientCallbackImpl::getTemiEvent(jobjectArray &arr, const int size, jobject obj = env->NewObject(eventClazz, eventInit, pts, descrTag, array); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(array); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getScramblingStatusEvent(jobjectArray &arr, const int size, Loading @@ -807,6 +823,7 @@ void FilterClientCallbackImpl::getScramblingStatusEvent(jobjectArray &arr, const .get<DemuxFilterMonitorEvent::Tag::scramblingStatus>(); jobject obj = env->NewObject(eventClazz, eventInit, scramblingStatus); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getIpCidChangeEvent(jobjectArray &arr, const int size, Loading @@ -819,6 +836,7 @@ void FilterClientCallbackImpl::getIpCidChangeEvent(jobjectArray &arr, const int .get<DemuxFilterMonitorEvent::Tag::cid>(); jobject obj = env->NewObject(eventClazz, eventInit, cid); env->SetObjectArrayElement(arr, size, obj); env->DeleteLocalRef(obj); } void FilterClientCallbackImpl::getRestartEvent(jobjectArray &arr, const int size, Loading Loading @@ -922,10 +940,12 @@ void FilterClientCallbackImpl::onFilterEvent(const vector<DemuxFilterEvent> &eve methodID = gFields.onSharedFilterEventID; } env->CallVoidMethod(filter, methodID, array); env->DeleteLocalRef(filter); } else { ALOGE("FilterClientCallbackImpl::onFilterEvent:" "Filter object has been freed. Ignoring callback."); } env->DeleteLocalRef(array); } void FilterClientCallbackImpl::onFilterStatus(const DemuxFilterStatus status) { Loading @@ -938,6 +958,7 @@ void FilterClientCallbackImpl::onFilterStatus(const DemuxFilterStatus status) { methodID = gFields.onSharedFilterStatusID; } env->CallVoidMethod(filter, methodID, (jint)static_cast<uint8_t>(status)); env->DeleteLocalRef(filter); } else { ALOGE("FilterClientCallbackImpl::onFilterStatus:" "Filter object has been freed. Ignoring callback."); Loading Loading @@ -1006,6 +1027,7 @@ void FrontendClientCallbackImpl::onEvent(FrontendEventType frontendEventType) { frontend, gFields.onFrontendEventID, (jint)frontendEventType); env->DeleteLocalRef(frontend); } else { ALOGW("FrontendClientCallbackImpl::onEvent:" "Frontend object has been freed. Ignoring callback."); Loading @@ -1028,6 +1050,7 @@ void FrontendClientCallbackImpl::onScanMessage( continue; } executeOnScanMessage(env, clazz, frontend, type, message); env->DeleteLocalRef(frontend); } } Loading Loading @@ -1069,6 +1092,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetLongArrayRegion(freqs, 0, v.size(), reinterpret_cast<jlong *>(&v[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onFrequenciesReport", "([J)V"), freqs); env->DeleteLocalRef(freqs); break; } case FrontendScanMessageType::SYMBOL_RATE: { Loading @@ -1077,6 +1101,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(symbolRates, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onSymbolRates", "([I)V"), symbolRates); env->DeleteLocalRef(symbolRates); break; } case FrontendScanMessageType::HIERARCHY: { Loading @@ -1094,6 +1119,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jintArray plpIds = env->NewIntArray(jintV.size()); env->SetIntArrayRegion(plpIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onPlpIds", "([I)V"), plpIds); env->DeleteLocalRef(plpIds); break; } case FrontendScanMessageType::GROUP_IDS: { Loading @@ -1101,6 +1127,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jintArray groupIds = env->NewIntArray(jintV.size()); env->SetIntArrayRegion(groupIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onGroupIds", "([I)V"), groupIds); env->DeleteLocalRef(groupIds); break; } case FrontendScanMessageType::INPUT_STREAM_IDS: { Loading @@ -1109,6 +1136,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(streamIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onInputStreamIds", "([I)V"), streamIds); env->DeleteLocalRef(streamIds); break; } case FrontendScanMessageType::STANDARD: { Loading Loading @@ -1142,12 +1170,14 @@ void FrontendClientCallbackImpl::executeOnScanMessage( jboolean lls = info.bLlsFlag; jobject obj = env->NewObject(plpClazz, init, plpId, lls); env->SetObjectArrayElement(array, i, obj); env->DeleteLocalRef(obj); } env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onAtsc3PlpInfos", "([Landroid/media/tv/tuner/frontend/" "Atsc3PlpInfo;)V"), array); env->DeleteLocalRef(array); break; } case FrontendScanMessageType::MODULATION: { Loading Loading @@ -1219,6 +1249,7 @@ void FrontendClientCallbackImpl::executeOnScanMessage( env->SetIntArrayRegion(cellIds, 0, jintV.size(), reinterpret_cast<jint *>(&jintV[0])); env->CallVoidMethod(frontend, env->GetMethodID(clazz, "onDvbtCellIdsReported", "([I)V"), cellIds); env->DeleteLocalRef(cellIds); break; } default: Loading Loading @@ -1673,6 +1704,7 @@ jobjectArray JTuner::getFrontendStatusReadiness(jintArray types) { for (int i = 0; i < size; i++) { jobject readinessObj = env->NewObject(clazz, init, intTypes[i], readiness[i]); env->SetObjectArrayElement(valObj, i, readinessObj); env->DeleteLocalRef(readinessObj); } return valObj; } Loading Loading @@ -2081,6 +2113,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isDemodLocked>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::snr: { Loading @@ -2088,6 +2121,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::snr>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::ber: { Loading @@ -2095,6 +2129,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::ber>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::per: { Loading @@ -2102,6 +2137,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::per>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::preBer: { Loading @@ -2109,6 +2145,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::preBer>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::signalQuality: { Loading @@ -2116,6 +2153,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::signalQuality>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::signalStrength: { Loading @@ -2124,6 +2162,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::signalStrength>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::symbolRate: { Loading @@ -2131,6 +2170,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::symbolRate>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::innerFec: { Loading @@ -2141,6 +2181,8 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(longClazz, initLong, static_cast<long>(s.get<FrontendStatus::Tag::innerFec>())); env->SetObjectField(statusObj, field, newLongObj); env->DeleteLocalRef(longClazz); env->DeleteLocalRef(newLongObj); break; } case FrontendStatus::Tag::modulationStatus: { Loading Loading @@ -2183,6 +2225,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intModulation); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2192,6 +2235,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::inversion>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::lnbVoltage: { Loading @@ -2200,6 +2244,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::lnbVoltage>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::plpId: { Loading @@ -2207,6 +2252,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::plpId>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isEWBS: { Loading @@ -2214,6 +2260,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isEWBS>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::agc: { Loading @@ -2221,6 +2268,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::agc>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isLnaOn: { Loading @@ -2228,6 +2276,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isLnaOn>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isLayerError: { Loading @@ -2241,6 +2290,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetBooleanArrayRegion(valObj, i, 1, &x); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::mer: { Loading @@ -2248,6 +2298,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::mer>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::freqOffset: { Loading @@ -2255,6 +2306,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newLongObj = env->NewObject(longClazz, initLong, s.get<FrontendStatus::Tag::freqOffset>()); env->SetObjectField(statusObj, field, newLongObj); env->DeleteLocalRef(newLongObj); break; } case FrontendStatus::Tag::hierarchy: { Loading @@ -2263,6 +2315,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, static_cast<jint>(s.get<FrontendStatus::Tag::hierarchy>())); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::isRfLocked: { Loading @@ -2270,6 +2323,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isRfLocked>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::plpInfo: { Loading @@ -2289,9 +2343,12 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject plpObj = env->NewObject(plpClazz, initPlp, plpId, isLocked, uec); env->SetObjectArrayElement(valObj, i, plpObj); env->DeleteLocalRef(plpObj); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::modulations: { Loading Loading @@ -2374,6 +2431,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { env->SetObjectField(statusObj, field, valObj); } env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::bers: { Loading @@ -2384,6 +2442,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::codeRates: { Loading @@ -2394,6 +2453,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::bandwidth: { Loading Loading @@ -2434,6 +2494,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intBandwidth); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading Loading @@ -2465,6 +2526,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intInterval); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading Loading @@ -2497,6 +2559,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intTransmissionMode); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2505,6 +2568,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::uec>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::systemId: { Loading @@ -2512,6 +2576,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::systemId>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::interleaving: { Loading Loading @@ -2558,6 +2623,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { env->SetObjectField(statusObj, field, valObj); } env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::isdbtSegment: { Loading @@ -2568,6 +2634,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint*>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::tsDataRate: { Loading @@ -2578,6 +2645,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&v[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::rollOff: { Loading Loading @@ -2605,6 +2673,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { if (valid) { jobject newIntegerObj = env->NewObject(intClazz, initInt, intRollOff); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); } break; } Loading @@ -2613,6 +2682,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isMiso>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isLinear: { Loading @@ -2620,6 +2690,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isLinear>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isShortFrames: { Loading @@ -2627,6 +2698,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newBooleanObj = env->NewObject(booleanClazz, initBoolean, s.get<FrontendStatus::Tag::isShortFrames>()); env->SetObjectField(statusObj, field, newBooleanObj); env->DeleteLocalRef(newBooleanObj); break; } case FrontendStatus::Tag::isdbtMode: { Loading @@ -2634,6 +2706,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject newIntegerObj = env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::isdbtMode>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::partialReceptionFlag: { Loading @@ -2643,6 +2716,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->NewObject(intClazz, initInt, s.get<FrontendStatus::Tag::partialReceptionFlag>()); env->SetObjectField(statusObj, field, newIntegerObj); env->DeleteLocalRef(newIntegerObj); break; } case FrontendStatus::Tag::streamIdList: { Loading @@ -2653,6 +2727,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&ids[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::dvbtCellIds: { Loading @@ -2663,6 +2738,7 @@ jobject JTuner::getFrontendStatus(jintArray types) { env->SetIntArrayRegion(valObj, 0, v.size(), reinterpret_cast<jint *>(&ids[0])); env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(valObj); break; } case FrontendStatus::Tag::allPlpInfo: { Loading @@ -2678,9 +2754,12 @@ jobject JTuner::getFrontendStatus(jintArray types) { jobject plpObj = env->NewObject(plpClazz, initPlp, plpInfos[i].plpId, plpInfos[i].bLlsFlag); env->SetObjectArrayElement(valObj, i, plpObj); env->DeleteLocalRef(plpObj); } env->SetObjectField(statusObj, field, valObj); env->DeleteLocalRef(plpClazz); env->DeleteLocalRef(valObj); break; } } Loading Loading @@ -2837,6 +2916,7 @@ static vector<FrontendAtsc3PlpSettings> getAtsc3PlpSettings(JNIEnv *env, const j .fec = fec, }; plps[i] = frontendAtsc3PlpSettings; env->DeleteLocalRef(plp); } return plps; } Loading Loading @@ -3192,6 +3272,7 @@ static FrontendSettings getIsdbtFrontendSettings(JNIEnv *env, const jobject& set env->GetIntField(layer, env->GetFieldID(layerClazz, "mCodeRate", "I"))); frontendIsdbtSettings.layerSettings[i].numOfSegment = env->GetIntField(layer, env->GetFieldID(layerClazz, "mNumOfSegments", "I")); env->DeleteLocalRef(layer); } frontendSettings.set<FrontendSettings::Tag::isdbt>(frontendIsdbtSettings); Loading