Loading media/java/android/media/tv/tuner/FrontendCapabilities.java 0 → 100644 +291 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tuner; /** * Frontend Capabilities. * @hide */ public class FrontendCapabilities { /** Analog Capabilities. */ public class Analog extends FrontendCapabilities { private final int mTypeCap; private final int mSifStandardCap; Analog(int typeCap, int sifStandardCap) { mTypeCap = typeCap; mSifStandardCap = sifStandardCap; } /** * Gets type capability. */ public int getTypeCapability() { return mTypeCap; } /** Gets SIF standard capability. */ public int getSifStandardCapability() { return mSifStandardCap; } } /** ATSC Capabilities. */ public class Atsc extends FrontendCapabilities { private final int mModulationCap; Atsc(int modulationCap) { mModulationCap = modulationCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } } /** ATSC-3 Capabilities. */ public class Atsc3 extends FrontendCapabilities { private final int mBandwidthCap; private final int mModulationCap; private final int mTimeInterleaveModeCap; private final int mCodeRateCap; private final int mFecCap; private final int mDemodOutputFormatCap; Atsc3(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mTimeInterleaveModeCap = timeInterleaveModeCap; mCodeRateCap = codeRateCap; mFecCap = fecCap; mDemodOutputFormatCap = demodOutputFormatCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets time interleave mod capability. */ public int getTimeInterleaveModeCapability() { return mTimeInterleaveModeCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCodeRateCap; } /** Gets FEC capability. */ public int getFecCapability() { return mFecCap; } /** Gets demodulator output format capability. */ public int getDemodOutputFormatCapability() { return mDemodOutputFormatCap; } } /** DVBS Capabilities. */ public class Dvbs extends FrontendCapabilities { private final int mModulationCap; private final long mInnerFecCap; private final int mStandard; Dvbs(int modulationCap, long innerFecCap, int standard) { mModulationCap = modulationCap; mInnerFecCap = innerFecCap; mStandard = standard; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets inner FEC capability. */ public long getInnerFecCapability() { return mInnerFecCap; } /** Gets DVBS standard capability. */ public int getStandardCapability() { return mStandard; } } /** DVBC Capabilities. */ public class Dvbc extends FrontendCapabilities { private final int mModulationCap; private final int mFecCap; private final int mAnnexCap; Dvbc(int modulationCap, int fecCap, int annexCap) { mModulationCap = modulationCap; mFecCap = fecCap; mAnnexCap = annexCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets FEC capability. */ public int getFecCapability() { return mFecCap; } /** Gets annex capability. */ public int getAnnexCapability() { return mAnnexCap; } } /** DVBT Capabilities. */ public class Dvbt extends FrontendCapabilities { private final int mTransmissionModeCap; private final int mBandwidthCap; private final int mConstellationCap; private final int mCoderateCap; private final int mHierarchyCap; private final int mGuardIntervalCap; private final boolean mIsT2Supported; private final boolean mIsMisoSupported; Dvbt(int transmissionModeCap, int bandwidthCap, int constellationCap, int coderateCap, int hierarchyCap, int guardIntervalCap, boolean isT2Supported, boolean isMisoSupported) { mTransmissionModeCap = transmissionModeCap; mBandwidthCap = bandwidthCap; mConstellationCap = constellationCap; mCoderateCap = coderateCap; mHierarchyCap = hierarchyCap; mGuardIntervalCap = guardIntervalCap; mIsT2Supported = isT2Supported; mIsMisoSupported = isMisoSupported; } /** Gets transmission mode capability. */ public int getTransmissionModeCapability() { return mTransmissionModeCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets constellation capability. */ public int getConstellationCapability() { return mConstellationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } /** Gets hierarchy capability. */ public int getHierarchyCapability() { return mHierarchyCap; } /** Gets guard interval capability. */ public int getGuardIntervalCapability() { return mGuardIntervalCap; } /** Returns whether T2 is supported. */ public boolean getIsT2Supported() { return mIsT2Supported; } /** Returns whether MISO is supported. */ public boolean getIsMisoSupported() { return mIsMisoSupported; } } /** ISDBS Capabilities. */ public class Isdbs extends FrontendCapabilities { private final int mModulationCap; private final int mCoderateCap; Isdbs(int modulationCap, int coderateCap) { mModulationCap = modulationCap; mCoderateCap = coderateCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } } /** ISDBS-3 Capabilities. */ public class Isdbs3 extends FrontendCapabilities { private final int mModulationCap; private final int mCoderateCap; Isdbs3(int modulationCap, int coderateCap) { mModulationCap = modulationCap; mCoderateCap = coderateCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } } /** ISDBC Capabilities. */ public class Isdbc extends FrontendCapabilities { private final int mModeCap; private final int mBandwidthCap; private final int mModulationCap; private final int mCoderateCap; private final int mGuardIntervalCap; Isdbc(int modeCap, int bandwidthCap, int modulationCap, int coderateCap, int guardIntervalCap) { mModeCap = modeCap; mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mCoderateCap = coderateCap; mGuardIntervalCap = guardIntervalCap; } /** Gets mode capability. */ public int getModeCapability() { return mModeCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } /** Gets guard interval capability. */ public int getGuardIntervalCapability() { return mGuardIntervalCap; } } } media/java/android/media/tv/tuner/FrontendInfo.java 0 → 100644 +93 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tuner; import android.media.tv.tuner.TunerConstants.FrontendType; /** * Frontend info. * @hide */ public class FrontendInfo { private final int mId; private final int mType; private final int mMinFrequency; private final int mMaxFrequency; private final int mMinSymbolRate; private final int mMaxSymbolRate; private final int mAcquireRange; private final int mExclusiveGroupId; private final int[] mStatusCaps; private final FrontendCapabilities mFrontendCap; FrontendInfo(int id, int type, int minFrequency, int maxFrequency, int minSymbolRate, int maxSymbolRate, int acquireRange, int exclusiveGroupId, int[] statusCaps, FrontendCapabilities frontendCap) { mId = id; mType = type; mMinFrequency = minFrequency; mMaxFrequency = maxFrequency; mMinSymbolRate = minSymbolRate; mMaxSymbolRate = maxSymbolRate; mAcquireRange = acquireRange; mExclusiveGroupId = exclusiveGroupId; mStatusCaps = statusCaps; mFrontendCap = frontendCap; } /** Gets frontend ID. */ public int getId() { return mId; } /** Gets frontend type. */ @FrontendType public int getType() { return mType; } /** Gets min frequency. */ public int getMinFrequency() { return mMinFrequency; } /** Gets max frequency. */ public int getMaxFrequency() { return mMaxFrequency; } /** Gets min symbol rate. */ public int getMinSymbolRate() { return mMinSymbolRate; } /** Gets max symbol rate. */ public int getMaxSymbolRate() { return mMaxSymbolRate; } /** Gets acquire range. */ public int getAcquireRange() { return mAcquireRange; } /** Gets exclusive group ID. */ public int getExclusiveGroupId() { return mExclusiveGroupId; } /** Gets status capabilities. */ public int[] getStatusCapabilities() { return mStatusCaps; } /** Gets frontend capability. */ public FrontendCapabilities getFrontendCapability() { return mFrontendCap; } } media/java/android/media/tv/tuner/Tuner.java +23 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ public final class Tuner implements AutoCloseable { private native long nativeGetAvSyncTime(int avSyncId); private native int nativeConnectCiCam(int ciCamId); private native int nativeDisconnectCiCam(); private native FrontendInfo nativeGetFrontendInfo(int id); private native Filter nativeOpenFilter(int type, int subType, int bufferSize); private native List<Integer> nativeGetLnbIds(); Loading Loading @@ -409,6 +410,28 @@ public final class Tuner implements AutoCloseable { return nativeDisconnectCiCam(); } /** * Retrieve the frontend information. * @hide */ public FrontendInfo getFrontendInfo() { if (mFrontend == null) { throw new IllegalStateException("frontend is not initialized"); } return nativeGetFrontendInfo(mFrontend.mId); } /** * Gets frontend ID. * @hide */ public int getFrontendId() { if (mFrontend == null) { throw new IllegalStateException("frontend is not initialized"); } return mFrontend.mId; } private List<Integer> getFrontendIds() { mFrontendIds = nativeGetFrontendIds(); return mFrontendIds; Loading media/java/android/media/tv/tuner/TunerConstants.java +374 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes media/jni/android_media_tv_Tuner.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -665,6 +665,10 @@ static int android_media_tv_Tuner_disconnect_cicam(JNIEnv*, jobject) { return 0; } static jobject android_media_tv_Tuner_get_frontend_info(JNIEnv*, jobject, jint) { return NULL; } static jobject android_media_tv_Tuner_get_lnb_ids(JNIEnv *env, jobject thiz) { sp<JTuner> tuner = getTuner(env, thiz); return tuner->getLnbIds(); Loading Loading @@ -1050,6 +1054,8 @@ static const JNINativeMethod gTunerMethods[] = { { "nativeGetAvSyncTime", "(I)J", (void *)android_media_tv_Tuner_gat_av_sync_time }, { "nativeConnectCiCam", "(I)I", (void *)android_media_tv_Tuner_connect_cicam }, { "nativeDisconnectCiCam", "()I", (void *)android_media_tv_Tuner_disconnect_cicam }, { "nativeGetFrontendInfo", "(I)[Landroid/media/tv/tuner/FrontendInfo;", (void *)android_media_tv_Tuner_get_frontend_info }, { "nativeOpenFilter", "(III)Landroid/media/tv/tuner/Tuner$Filter;", (void *)android_media_tv_Tuner_open_filter }, { "nativeGetLnbIds", "()Ljava/util/List;", Loading Loading
media/java/android/media/tv/tuner/FrontendCapabilities.java 0 → 100644 +291 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tuner; /** * Frontend Capabilities. * @hide */ public class FrontendCapabilities { /** Analog Capabilities. */ public class Analog extends FrontendCapabilities { private final int mTypeCap; private final int mSifStandardCap; Analog(int typeCap, int sifStandardCap) { mTypeCap = typeCap; mSifStandardCap = sifStandardCap; } /** * Gets type capability. */ public int getTypeCapability() { return mTypeCap; } /** Gets SIF standard capability. */ public int getSifStandardCapability() { return mSifStandardCap; } } /** ATSC Capabilities. */ public class Atsc extends FrontendCapabilities { private final int mModulationCap; Atsc(int modulationCap) { mModulationCap = modulationCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } } /** ATSC-3 Capabilities. */ public class Atsc3 extends FrontendCapabilities { private final int mBandwidthCap; private final int mModulationCap; private final int mTimeInterleaveModeCap; private final int mCodeRateCap; private final int mFecCap; private final int mDemodOutputFormatCap; Atsc3(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mTimeInterleaveModeCap = timeInterleaveModeCap; mCodeRateCap = codeRateCap; mFecCap = fecCap; mDemodOutputFormatCap = demodOutputFormatCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets time interleave mod capability. */ public int getTimeInterleaveModeCapability() { return mTimeInterleaveModeCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCodeRateCap; } /** Gets FEC capability. */ public int getFecCapability() { return mFecCap; } /** Gets demodulator output format capability. */ public int getDemodOutputFormatCapability() { return mDemodOutputFormatCap; } } /** DVBS Capabilities. */ public class Dvbs extends FrontendCapabilities { private final int mModulationCap; private final long mInnerFecCap; private final int mStandard; Dvbs(int modulationCap, long innerFecCap, int standard) { mModulationCap = modulationCap; mInnerFecCap = innerFecCap; mStandard = standard; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets inner FEC capability. */ public long getInnerFecCapability() { return mInnerFecCap; } /** Gets DVBS standard capability. */ public int getStandardCapability() { return mStandard; } } /** DVBC Capabilities. */ public class Dvbc extends FrontendCapabilities { private final int mModulationCap; private final int mFecCap; private final int mAnnexCap; Dvbc(int modulationCap, int fecCap, int annexCap) { mModulationCap = modulationCap; mFecCap = fecCap; mAnnexCap = annexCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets FEC capability. */ public int getFecCapability() { return mFecCap; } /** Gets annex capability. */ public int getAnnexCapability() { return mAnnexCap; } } /** DVBT Capabilities. */ public class Dvbt extends FrontendCapabilities { private final int mTransmissionModeCap; private final int mBandwidthCap; private final int mConstellationCap; private final int mCoderateCap; private final int mHierarchyCap; private final int mGuardIntervalCap; private final boolean mIsT2Supported; private final boolean mIsMisoSupported; Dvbt(int transmissionModeCap, int bandwidthCap, int constellationCap, int coderateCap, int hierarchyCap, int guardIntervalCap, boolean isT2Supported, boolean isMisoSupported) { mTransmissionModeCap = transmissionModeCap; mBandwidthCap = bandwidthCap; mConstellationCap = constellationCap; mCoderateCap = coderateCap; mHierarchyCap = hierarchyCap; mGuardIntervalCap = guardIntervalCap; mIsT2Supported = isT2Supported; mIsMisoSupported = isMisoSupported; } /** Gets transmission mode capability. */ public int getTransmissionModeCapability() { return mTransmissionModeCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets constellation capability. */ public int getConstellationCapability() { return mConstellationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } /** Gets hierarchy capability. */ public int getHierarchyCapability() { return mHierarchyCap; } /** Gets guard interval capability. */ public int getGuardIntervalCapability() { return mGuardIntervalCap; } /** Returns whether T2 is supported. */ public boolean getIsT2Supported() { return mIsT2Supported; } /** Returns whether MISO is supported. */ public boolean getIsMisoSupported() { return mIsMisoSupported; } } /** ISDBS Capabilities. */ public class Isdbs extends FrontendCapabilities { private final int mModulationCap; private final int mCoderateCap; Isdbs(int modulationCap, int coderateCap) { mModulationCap = modulationCap; mCoderateCap = coderateCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } } /** ISDBS-3 Capabilities. */ public class Isdbs3 extends FrontendCapabilities { private final int mModulationCap; private final int mCoderateCap; Isdbs3(int modulationCap, int coderateCap) { mModulationCap = modulationCap; mCoderateCap = coderateCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } } /** ISDBC Capabilities. */ public class Isdbc extends FrontendCapabilities { private final int mModeCap; private final int mBandwidthCap; private final int mModulationCap; private final int mCoderateCap; private final int mGuardIntervalCap; Isdbc(int modeCap, int bandwidthCap, int modulationCap, int coderateCap, int guardIntervalCap) { mModeCap = modeCap; mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mCoderateCap = coderateCap; mGuardIntervalCap = guardIntervalCap; } /** Gets mode capability. */ public int getModeCapability() { return mModeCap; } /** Gets bandwidth capability. */ public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ public int getModulationCapability() { return mModulationCap; } /** Gets code rate capability. */ public int getCodeRateCapability() { return mCoderateCap; } /** Gets guard interval capability. */ public int getGuardIntervalCapability() { return mGuardIntervalCap; } } }
media/java/android/media/tv/tuner/FrontendInfo.java 0 → 100644 +93 −0 Original line number Diff line number Diff line /* * Copyright 2019 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tuner; import android.media.tv.tuner.TunerConstants.FrontendType; /** * Frontend info. * @hide */ public class FrontendInfo { private final int mId; private final int mType; private final int mMinFrequency; private final int mMaxFrequency; private final int mMinSymbolRate; private final int mMaxSymbolRate; private final int mAcquireRange; private final int mExclusiveGroupId; private final int[] mStatusCaps; private final FrontendCapabilities mFrontendCap; FrontendInfo(int id, int type, int minFrequency, int maxFrequency, int minSymbolRate, int maxSymbolRate, int acquireRange, int exclusiveGroupId, int[] statusCaps, FrontendCapabilities frontendCap) { mId = id; mType = type; mMinFrequency = minFrequency; mMaxFrequency = maxFrequency; mMinSymbolRate = minSymbolRate; mMaxSymbolRate = maxSymbolRate; mAcquireRange = acquireRange; mExclusiveGroupId = exclusiveGroupId; mStatusCaps = statusCaps; mFrontendCap = frontendCap; } /** Gets frontend ID. */ public int getId() { return mId; } /** Gets frontend type. */ @FrontendType public int getType() { return mType; } /** Gets min frequency. */ public int getMinFrequency() { return mMinFrequency; } /** Gets max frequency. */ public int getMaxFrequency() { return mMaxFrequency; } /** Gets min symbol rate. */ public int getMinSymbolRate() { return mMinSymbolRate; } /** Gets max symbol rate. */ public int getMaxSymbolRate() { return mMaxSymbolRate; } /** Gets acquire range. */ public int getAcquireRange() { return mAcquireRange; } /** Gets exclusive group ID. */ public int getExclusiveGroupId() { return mExclusiveGroupId; } /** Gets status capabilities. */ public int[] getStatusCapabilities() { return mStatusCaps; } /** Gets frontend capability. */ public FrontendCapabilities getFrontendCapability() { return mFrontendCap; } }
media/java/android/media/tv/tuner/Tuner.java +23 −0 Original line number Diff line number Diff line Loading @@ -115,6 +115,7 @@ public final class Tuner implements AutoCloseable { private native long nativeGetAvSyncTime(int avSyncId); private native int nativeConnectCiCam(int ciCamId); private native int nativeDisconnectCiCam(); private native FrontendInfo nativeGetFrontendInfo(int id); private native Filter nativeOpenFilter(int type, int subType, int bufferSize); private native List<Integer> nativeGetLnbIds(); Loading Loading @@ -409,6 +410,28 @@ public final class Tuner implements AutoCloseable { return nativeDisconnectCiCam(); } /** * Retrieve the frontend information. * @hide */ public FrontendInfo getFrontendInfo() { if (mFrontend == null) { throw new IllegalStateException("frontend is not initialized"); } return nativeGetFrontendInfo(mFrontend.mId); } /** * Gets frontend ID. * @hide */ public int getFrontendId() { if (mFrontend == null) { throw new IllegalStateException("frontend is not initialized"); } return mFrontend.mId; } private List<Integer> getFrontendIds() { mFrontendIds = nativeGetFrontendIds(); return mFrontendIds; Loading
media/java/android/media/tv/tuner/TunerConstants.java +374 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes
media/jni/android_media_tv_Tuner.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -665,6 +665,10 @@ static int android_media_tv_Tuner_disconnect_cicam(JNIEnv*, jobject) { return 0; } static jobject android_media_tv_Tuner_get_frontend_info(JNIEnv*, jobject, jint) { return NULL; } static jobject android_media_tv_Tuner_get_lnb_ids(JNIEnv *env, jobject thiz) { sp<JTuner> tuner = getTuner(env, thiz); return tuner->getLnbIds(); Loading Loading @@ -1050,6 +1054,8 @@ static const JNINativeMethod gTunerMethods[] = { { "nativeGetAvSyncTime", "(I)J", (void *)android_media_tv_Tuner_gat_av_sync_time }, { "nativeConnectCiCam", "(I)I", (void *)android_media_tv_Tuner_connect_cicam }, { "nativeDisconnectCiCam", "()I", (void *)android_media_tv_Tuner_disconnect_cicam }, { "nativeGetFrontendInfo", "(I)[Landroid/media/tv/tuner/FrontendInfo;", (void *)android_media_tv_Tuner_get_frontend_info }, { "nativeOpenFilter", "(III)Landroid/media/tv/tuner/Tuner$Filter;", (void *)android_media_tv_Tuner_open_filter }, { "nativeGetLnbIds", "()Ljava/util/List;", Loading