1 /* 2 * Copyright 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.media.tv.tuner.frontend; 18 19 import android.annotation.SystemApi; 20 21 /** 22 * DVBC Capabilities. 23 * 24 * @hide 25 */ 26 @SystemApi 27 public class DvbcFrontendCapabilities extends FrontendCapabilities { 28 private final int mModulationCap; 29 private final long mFecCap; 30 private final int mAnnexCap; 31 DvbcFrontendCapabilities(int modulationCap, long fecCap, int annexCap)32 private DvbcFrontendCapabilities(int modulationCap, long fecCap, int annexCap) { 33 mModulationCap = modulationCap; 34 mFecCap = fecCap; 35 mAnnexCap = annexCap; 36 } 37 38 /** 39 * Gets modulation capability. 40 */ 41 @DvbcFrontendSettings.Modulation getModulationCapability()42 public int getModulationCapability() { 43 return mModulationCap; 44 } 45 /** 46 * Gets inner FEC capability. 47 * 48 * @deprecated Use {@link #getInnerFecCapability()} with long return value instead. This 49 * function returns the correct cap value when the value is not bigger than the max 50 * integer value. Otherwise it returns {@link FrontendSettings#FEC_UNDEFINED}. 51 */ 52 @Deprecated 53 @FrontendSettings.InnerFec getFecCapability()54 public int getFecCapability() { 55 if (mFecCap > Integer.MAX_VALUE) { 56 return (int) FrontendSettings.FEC_UNDEFINED; 57 } 58 return (int) mFecCap; 59 } 60 /** 61 * Gets code rate capability. 62 */ 63 @FrontendSettings.InnerFec getCodeRateCapability()64 public long getCodeRateCapability() { 65 return mFecCap; 66 } 67 /** 68 * Gets annex capability. 69 */ 70 @DvbcFrontendSettings.Annex getAnnexCapability()71 public int getAnnexCapability() { 72 return mAnnexCap; 73 } 74 } 75