Loading media/java/android/media/tv/tuner/Tuner.java +2 −2 Original line number Diff line number Diff line Loading @@ -394,7 +394,7 @@ public class Tuner implements AutoCloseable { private native Lnb nativeOpenLnbByName(String name); private native Descrambler nativeOpenDescramblerByHandle(int handle); private native Descrambler nativeOpenDemuxByhandle(int handle); private native int nativeOpenDemuxByhandle(int handle); private native DvrRecorder nativeOpenDvrRecorder(long bufferSize); private native DvrPlayback nativeOpenDvrPlayback(long bufferSize); Loading Loading @@ -985,7 +985,7 @@ public class Tuner implements AutoCloseable { boolean granted = mTunerResourceManager.requestDescrambler(request, descramblerHandle); if (granted) { mDescramblerHandle = descramblerHandle[0]; nativeOpenDescramblerByHandle(mDescramblerHandle); mDescrambler = nativeOpenDescramblerByHandle(mDescramblerHandle); } return granted; } Loading media/jni/android_media_tv_Tuner.cpp +56 −21 Original line number Diff line number Diff line Loading @@ -880,10 +880,12 @@ jobject JTuner::getFrontendIds() { jobject JTuner::openFrontendById(int id) { sp<IFrontend> fe; mTuner->openFrontendById(id, [&](Result, const sp<IFrontend>& frontend) { Result res; mTuner->openFrontendById(id, [&](Result r, const sp<IFrontend>& frontend) { fe = frontend; res = r; }); if (fe == nullptr) { if (res != Result::SUCCESS || fe == nullptr) { ALOGE("Failed to open frontend"); return NULL; } Loading @@ -906,7 +908,7 @@ jobject JTuner::openFrontendById(int id) { (jint) jId); } jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AnalogFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -915,7 +917,7 @@ jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabil return env->NewObject(clazz, capsInit, typeCap, sifStandardCap); } jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Atsc3FrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIIII)V"); Loading @@ -930,7 +932,7 @@ jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabili codeRateCap, fecCap, demodOutputFormatCap); } jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AtscFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(I)V"); Loading @@ -939,7 +941,7 @@ jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap); } jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbcFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(III)V"); Loading @@ -950,7 +952,7 @@ jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap, fecCap, annexCap); } jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbsFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IJI)V"); Loading @@ -961,7 +963,7 @@ jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap, innerfecCap, standard); } jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbtFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIIIIZZ)V"); Loading @@ -978,7 +980,7 @@ jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit coderateCap, hierarchyCap, guardIntervalCap, isT2Supported, isMisoSupported); } jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Isdbs3FrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -988,7 +990,7 @@ jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabil return env->NewObject(clazz, capsInit, modulationCap, coderateCap); } jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbsFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -998,7 +1000,7 @@ jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabili return env->NewObject(clazz, capsInit, modulationCap, coderateCap); } jobject JTuner::getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbtFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIII)V"); Loading Loading @@ -1044,31 +1046,58 @@ jobject JTuner::getFrontendInfo(int id) { jobject jcaps = NULL; switch(feInfo.type) { case FrontendType::ANALOG: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::analogCaps == caps.getDiscriminator()) { jcaps = getAnalogFrontendCaps(env, caps); } break; case FrontendType::ATSC3: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::atsc3Caps == caps.getDiscriminator()) { jcaps = getAtsc3FrontendCaps(env, caps); } break; case FrontendType::ATSC: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::atscCaps == caps.getDiscriminator()) { jcaps = getAtscFrontendCaps(env, caps); } break; case FrontendType::DVBC: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbcCaps == caps.getDiscriminator()) { jcaps = getDvbcFrontendCaps(env, caps); } break; case FrontendType::DVBS: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbsCaps == caps.getDiscriminator()) { jcaps = getDvbsFrontendCaps(env, caps); } break; case FrontendType::DVBT: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbtCaps == caps.getDiscriminator()) { jcaps = getDvbtFrontendCaps(env, caps); } break; case FrontendType::ISDBS: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbsCaps == caps.getDiscriminator()) { jcaps = getIsdbsFrontendCaps(env, caps); } break; case FrontendType::ISDBS3: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbs3Caps == caps.getDiscriminator()) { jcaps = getIsdbs3FrontendCaps(env, caps); } break; case FrontendType::ISDBT: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbtCaps == caps.getDiscriminator()) { jcaps = getIsdbtFrontendCaps(env, caps); } break; default: break; Loading Loading @@ -2308,7 +2337,7 @@ static void android_media_tv_Tuner_native_init(JNIEnv *env) { gFields.dvrPlaybackContext = env->GetFieldID(dvrPlaybackClazz, "mNativeContext", "J"); gFields.dvrPlaybackInitID = env->GetMethodID(dvrPlaybackClazz, "<init>", "()V"); gFields.onDvrPlaybackStatusID = env->GetMethodID(dvrRecorderClazz, "onPlaybackStatusChanged", "(I)V"); env->GetMethodID(dvrPlaybackClazz, "onPlaybackStatusChanged", "(I)V"); jclass linearBlockClazz = env->FindClass("android/media/MediaCodec$LinearBlock"); gFields.linearBlockInitID = env->GetMethodID(linearBlockClazz, "<init>", "()V"); Loading Loading @@ -3101,6 +3130,11 @@ static jobject android_media_tv_Tuner_get_demux_caps(JNIEnv* env, jobject thiz) return tuner->getDemuxCaps(); } static jint android_media_tv_Tuner_open_demux(JNIEnv* env, jobject thiz, jint /* handle */) { sp<JTuner> tuner = getTuner(env, thiz); return (jint) tuner->openDemux(); } static jint android_media_tv_Tuner_attach_filter(JNIEnv *env, jobject dvr, jobject filter) { sp<Dvr> dvrSp = getDvr(env, dvr); if (dvrSp == NULL) { Loading Loading @@ -3425,6 +3459,7 @@ static const JNINativeMethod gTunerMethods[] = { (void *)android_media_tv_Tuner_open_dvr_playback }, { "nativeGetDemuxCapabilities", "()Landroid/media/tv/tuner/DemuxCapabilities;", (void *)android_media_tv_Tuner_get_demux_caps }, { "nativeOpenDemuxByhandle", "(I)I", (void *)android_media_tv_Tuner_open_demux }, }; static const JNINativeMethod gFilterMethods[] = { Loading media/jni/android_media_tv_Tuner.h +10 −10 Original line number Diff line number Diff line Loading @@ -188,9 +188,9 @@ struct JTuner : public RefBase { jobject openDvr(DvrType type, jlong bufferSize); jobject getDemuxCaps(); jobject getFrontendStatus(jintArray types); Result openDemux(); protected: Result openDemux(); virtual ~JTuner(); private: Loading @@ -204,15 +204,15 @@ private: sp<ILnb> mLnb; sp<IDemux> mDemux; uint32_t mDemuxId; static jobject getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); }; } // namespace android Loading Loading
media/java/android/media/tv/tuner/Tuner.java +2 −2 Original line number Diff line number Diff line Loading @@ -394,7 +394,7 @@ public class Tuner implements AutoCloseable { private native Lnb nativeOpenLnbByName(String name); private native Descrambler nativeOpenDescramblerByHandle(int handle); private native Descrambler nativeOpenDemuxByhandle(int handle); private native int nativeOpenDemuxByhandle(int handle); private native DvrRecorder nativeOpenDvrRecorder(long bufferSize); private native DvrPlayback nativeOpenDvrPlayback(long bufferSize); Loading Loading @@ -985,7 +985,7 @@ public class Tuner implements AutoCloseable { boolean granted = mTunerResourceManager.requestDescrambler(request, descramblerHandle); if (granted) { mDescramblerHandle = descramblerHandle[0]; nativeOpenDescramblerByHandle(mDescramblerHandle); mDescrambler = nativeOpenDescramblerByHandle(mDescramblerHandle); } return granted; } Loading
media/jni/android_media_tv_Tuner.cpp +56 −21 Original line number Diff line number Diff line Loading @@ -880,10 +880,12 @@ jobject JTuner::getFrontendIds() { jobject JTuner::openFrontendById(int id) { sp<IFrontend> fe; mTuner->openFrontendById(id, [&](Result, const sp<IFrontend>& frontend) { Result res; mTuner->openFrontendById(id, [&](Result r, const sp<IFrontend>& frontend) { fe = frontend; res = r; }); if (fe == nullptr) { if (res != Result::SUCCESS || fe == nullptr) { ALOGE("Failed to open frontend"); return NULL; } Loading @@ -906,7 +908,7 @@ jobject JTuner::openFrontendById(int id) { (jint) jId); } jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AnalogFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -915,7 +917,7 @@ jobject JTuner::getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabil return env->NewObject(clazz, capsInit, typeCap, sifStandardCap); } jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Atsc3FrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIIII)V"); Loading @@ -930,7 +932,7 @@ jobject JTuner::getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabili codeRateCap, fecCap, demodOutputFormatCap); } jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/AtscFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(I)V"); Loading @@ -939,7 +941,7 @@ jobject JTuner::getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap); } jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbcFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(III)V"); Loading @@ -950,7 +952,7 @@ jobject JTuner::getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap, fecCap, annexCap); } jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbsFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IJI)V"); Loading @@ -961,7 +963,7 @@ jobject JTuner::getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit return env->NewObject(clazz, capsInit, modulationCap, innerfecCap, standard); } jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/DvbtFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIIIIZZ)V"); Loading @@ -978,7 +980,7 @@ jobject JTuner::getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilit coderateCap, hierarchyCap, guardIntervalCap, isT2Supported, isMisoSupported); } jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/Isdbs3FrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -988,7 +990,7 @@ jobject JTuner::getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabil return env->NewObject(clazz, capsInit, modulationCap, coderateCap); } jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbsFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(II)V"); Loading @@ -998,7 +1000,7 @@ jobject JTuner::getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabili return env->NewObject(clazz, capsInit, modulationCap, coderateCap); } jobject JTuner::getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps) { jobject JTuner::getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps) { jclass clazz = env->FindClass("android/media/tv/tuner/frontend/IsdbtFrontendCapabilities"); jmethodID capsInit = env->GetMethodID(clazz, "<init>", "(IIIII)V"); Loading Loading @@ -1044,31 +1046,58 @@ jobject JTuner::getFrontendInfo(int id) { jobject jcaps = NULL; switch(feInfo.type) { case FrontendType::ANALOG: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::analogCaps == caps.getDiscriminator()) { jcaps = getAnalogFrontendCaps(env, caps); } break; case FrontendType::ATSC3: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::atsc3Caps == caps.getDiscriminator()) { jcaps = getAtsc3FrontendCaps(env, caps); } break; case FrontendType::ATSC: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::atscCaps == caps.getDiscriminator()) { jcaps = getAtscFrontendCaps(env, caps); } break; case FrontendType::DVBC: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbcCaps == caps.getDiscriminator()) { jcaps = getDvbcFrontendCaps(env, caps); } break; case FrontendType::DVBS: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbsCaps == caps.getDiscriminator()) { jcaps = getDvbsFrontendCaps(env, caps); } break; case FrontendType::DVBT: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::dvbtCaps == caps.getDiscriminator()) { jcaps = getDvbtFrontendCaps(env, caps); } break; case FrontendType::ISDBS: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbsCaps == caps.getDiscriminator()) { jcaps = getIsdbsFrontendCaps(env, caps); } break; case FrontendType::ISDBS3: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbs3Caps == caps.getDiscriminator()) { jcaps = getIsdbs3FrontendCaps(env, caps); } break; case FrontendType::ISDBT: if (FrontendInfo::FrontendCapabilities::hidl_discriminator::isdbtCaps == caps.getDiscriminator()) { jcaps = getIsdbtFrontendCaps(env, caps); } break; default: break; Loading Loading @@ -2308,7 +2337,7 @@ static void android_media_tv_Tuner_native_init(JNIEnv *env) { gFields.dvrPlaybackContext = env->GetFieldID(dvrPlaybackClazz, "mNativeContext", "J"); gFields.dvrPlaybackInitID = env->GetMethodID(dvrPlaybackClazz, "<init>", "()V"); gFields.onDvrPlaybackStatusID = env->GetMethodID(dvrRecorderClazz, "onPlaybackStatusChanged", "(I)V"); env->GetMethodID(dvrPlaybackClazz, "onPlaybackStatusChanged", "(I)V"); jclass linearBlockClazz = env->FindClass("android/media/MediaCodec$LinearBlock"); gFields.linearBlockInitID = env->GetMethodID(linearBlockClazz, "<init>", "()V"); Loading Loading @@ -3101,6 +3130,11 @@ static jobject android_media_tv_Tuner_get_demux_caps(JNIEnv* env, jobject thiz) return tuner->getDemuxCaps(); } static jint android_media_tv_Tuner_open_demux(JNIEnv* env, jobject thiz, jint /* handle */) { sp<JTuner> tuner = getTuner(env, thiz); return (jint) tuner->openDemux(); } static jint android_media_tv_Tuner_attach_filter(JNIEnv *env, jobject dvr, jobject filter) { sp<Dvr> dvrSp = getDvr(env, dvr); if (dvrSp == NULL) { Loading Loading @@ -3425,6 +3459,7 @@ static const JNINativeMethod gTunerMethods[] = { (void *)android_media_tv_Tuner_open_dvr_playback }, { "nativeGetDemuxCapabilities", "()Landroid/media/tv/tuner/DemuxCapabilities;", (void *)android_media_tv_Tuner_get_demux_caps }, { "nativeOpenDemuxByhandle", "(I)I", (void *)android_media_tv_Tuner_open_demux }, }; static const JNINativeMethod gFilterMethods[] = { Loading
media/jni/android_media_tv_Tuner.h +10 −10 Original line number Diff line number Diff line Loading @@ -188,9 +188,9 @@ struct JTuner : public RefBase { jobject openDvr(DvrType type, jlong bufferSize); jobject getDemuxCaps(); jobject getFrontendStatus(jintArray types); Result openDemux(); protected: Result openDemux(); virtual ~JTuner(); private: Loading @@ -204,15 +204,15 @@ private: sp<ILnb> mLnb; sp<IDemux> mDemux; uint32_t mDemuxId; static jobject getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities caps); static jobject getAnalogFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getAtsc3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getAtscFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbcFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getDvbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbs3FrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbsFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); static jobject getIsdbtFrontendCaps(JNIEnv *env, FrontendInfo::FrontendCapabilities& caps); }; } // namespace android Loading