Loading media/java/android/media/tv/tuner/TunerConstants.java +46 −621 File changed.Preview size limit exceeded, changes collapsed. Show changes media/java/android/media/tv/tuner/frontend/AnalogFrontendCapabilities.java +5 −1 Original line number Diff line number Diff line Loading @@ -31,10 +31,14 @@ public class AnalogFrontendCapabilities extends FrontendCapabilities { /** * Gets type capability. */ @AnalogFrontendSettings.SignalType public int getTypeCapability() { return mTypeCap; } /** Gets SIF standard capability. */ /** * Gets SIF standard capability. */ @AnalogFrontendSettings.SifStandard public int getSifStandardCapability() { return mSifStandardCap; } Loading media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java +6 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ import java.lang.annotation.RetentionPolicy; */ public class AnalogFrontendSettings extends FrontendSettings { /** @hide */ @IntDef(flag = true, value = {SIGNAL_TYPE_UNDEFINED, SIGNAL_TYPE_PAL, SIGNAL_TYPE_SECAM, SIGNAL_TYPE_NTSC}) @IntDef(flag = true, prefix = "SIGNAL_TYPE_", value = {SIGNAL_TYPE_UNDEFINED, SIGNAL_TYPE_PAL, SIGNAL_TYPE_SECAM, SIGNAL_TYPE_NTSC}) @Retention(RetentionPolicy.SOURCE) public @interface SignalType {} Loading @@ -54,7 +55,9 @@ public class AnalogFrontendSettings extends FrontendSettings { /** @hide */ @IntDef(flag = true, value = {SIF_UNDEFINED, SIF_BG, SIF_BG_A2, SIF_BG_NICAM, SIF_I, SIF_DK, @IntDef(flag = true, prefix = "SIF_", value = {SIF_UNDEFINED, SIF_BG, SIF_BG_A2, SIF_BG_NICAM, SIF_I, SIF_DK, SIF_DK1, SIF_DK2, SIF_DK3, SIF_DK_NICAM, SIF_L, SIF_M, SIF_M_BTSC, SIF_M_A2, SIF_M_EIA_J, SIF_I_NICAM, SIF_L_NICAM, SIF_L_PRIME}) @Retention(RetentionPolicy.SOURCE) Loading media/java/android/media/tv/tuner/frontend/Atsc3FrontendCapabilities.java +26 −8 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ public class Atsc3FrontendCapabilities extends FrontendCapabilities { private final int mFecCap; private final int mDemodOutputFormatCap; Atsc3FrontendCapabilities(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { private Atsc3FrontendCapabilities(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mTimeInterleaveModeCap = timeInterleaveModeCap; Loading @@ -38,27 +38,45 @@ public class Atsc3FrontendCapabilities extends FrontendCapabilities { mDemodOutputFormatCap = demodOutputFormatCap; } /** Gets bandwidth capability. */ /** * Gets bandwidth capability. */ @Atsc3FrontendSettings.Bandwidth public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ /** * Gets modulation capability. */ @Atsc3FrontendSettings.Modulation public int getModulationCapability() { return mModulationCap; } /** Gets time interleave mod capability. */ /** * Gets time interleave mod capability. */ @Atsc3FrontendSettings.TimeInterleaveMode public int getTimeInterleaveModeCapability() { return mTimeInterleaveModeCap; } /** Gets code rate capability. */ /** * Gets code rate capability. */ @Atsc3FrontendSettings.CodeRate public int getCodeRateCapability() { return mCodeRateCap; } /** Gets FEC capability. */ /** * Gets FEC capability. */ @Atsc3FrontendSettings.Fec public int getFecCapability() { return mFecCap; } /** Gets demodulator output format capability. */ /** * Gets demodulator output format capability. */ @Atsc3FrontendSettings.DemodOutputFormat public int getDemodOutputFormatCapability() { return mDemodOutputFormatCap; } Loading media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java +343 −5 Original line number Diff line number Diff line Loading @@ -16,19 +16,357 @@ package android.media.tv.tuner.frontend; import java.util.List; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.content.Context; import android.hardware.tv.tuner.V1_0.Constants; import android.media.tv.tuner.TunerUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * Frontend settings for ATSC-3. * @hide */ public class Atsc3FrontendSettings extends FrontendSettings { public int bandwidth; public byte demodOutputFormat; public List<Atsc3PlpSettings> plpSettings; Atsc3FrontendSettings(int frequency) { /** @hide */ @IntDef(flag = true, prefix = "BANDWIDTH_", value = {BANDWIDTH_UNDEFINED, BANDWIDTH_AUTO, BANDWIDTH_BANDWIDTH_6MHZ, BANDWIDTH_BANDWIDTH_7MHZ, BANDWIDTH_BANDWIDTH_8MHZ}) @Retention(RetentionPolicy.SOURCE) public @interface Bandwidth {} /** * Bandwidth not defined. */ public static final int BANDWIDTH_UNDEFINED = Constants.FrontendAtsc3Bandwidth.UNDEFINED; /** * Hardware is able to detect and set bandwidth automatically */ public static final int BANDWIDTH_AUTO = Constants.FrontendAtsc3Bandwidth.AUTO; /** * 6 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_6MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_6MHZ; /** * 7 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_7MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_7MHZ; /** * 8 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_8MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_8MHZ; /** @hide */ @IntDef(flag = true, prefix = "MODULATION_", value = {MODULATION_UNDEFINED, MODULATION_AUTO, MODULATION_MOD_QPSK, MODULATION_MOD_16QAM, MODULATION_MOD_64QAM, MODULATION_MOD_256QAM, MODULATION_MOD_1024QAM, MODULATION_MOD_4096QAM}) @Retention(RetentionPolicy.SOURCE) public @interface Modulation {} /** * Modulation undefined. */ public static final int MODULATION_UNDEFINED = Constants.FrontendAtsc3Modulation.UNDEFINED; /** * Hardware is able to detect and set modulation automatically. */ public static final int MODULATION_AUTO = Constants.FrontendAtsc3Modulation.AUTO; /** * QPSK modulation. */ public static final int MODULATION_MOD_QPSK = Constants.FrontendAtsc3Modulation.MOD_QPSK; /** * 16QAM modulation. */ public static final int MODULATION_MOD_16QAM = Constants.FrontendAtsc3Modulation.MOD_16QAM; /** * 64QAM modulation. */ public static final int MODULATION_MOD_64QAM = Constants.FrontendAtsc3Modulation.MOD_64QAM; /** * 256QAM modulation. */ public static final int MODULATION_MOD_256QAM = Constants.FrontendAtsc3Modulation.MOD_256QAM; /** * 1024QAM modulation. */ public static final int MODULATION_MOD_1024QAM = Constants.FrontendAtsc3Modulation.MOD_1024QAM; /** * 4096QAM modulation. */ public static final int MODULATION_MOD_4096QAM = Constants.FrontendAtsc3Modulation.MOD_4096QAM; /** @hide */ @IntDef(flag = true, prefix = "TIME_INTERLEAVE_MODE_", value = {TIME_INTERLEAVE_MODE_UNDEFINED, TIME_INTERLEAVE_MODE_AUTO, TIME_INTERLEAVE_MODE_CTI, TIME_INTERLEAVE_MODE_HTI}) @Retention(RetentionPolicy.SOURCE) public @interface TimeInterleaveMode {} /** * Time interleave mode undefined. */ public static final int TIME_INTERLEAVE_MODE_UNDEFINED = Constants.FrontendAtsc3TimeInterleaveMode.UNDEFINED; /** * Hardware is able to detect and set Time Interleave Mode automatically. */ public static final int TIME_INTERLEAVE_MODE_AUTO = Constants.FrontendAtsc3TimeInterleaveMode.AUTO; /** * CTI Time Interleave Mode. */ public static final int TIME_INTERLEAVE_MODE_CTI = Constants.FrontendAtsc3TimeInterleaveMode.CTI; /** * HTI Time Interleave Mode. */ public static final int TIME_INTERLEAVE_MODE_HTI = Constants.FrontendAtsc3TimeInterleaveMode.HTI; /** @hide */ @IntDef(flag = true, prefix = "CODERATE_", value = {CODERATE_UNDEFINED, CODERATE_AUTO, CODERATE_2_15, CODERATE_3_15, CODERATE_4_15, CODERATE_5_15, CODERATE_6_15, CODERATE_7_15, CODERATE_8_15, CODERATE_9_15, CODERATE_10_15, CODERATE_11_15, CODERATE_12_15, CODERATE_13_15}) @Retention(RetentionPolicy.SOURCE) public @interface CodeRate {} /** * Code rate undefined. */ public static final int CODERATE_UNDEFINED = Constants.FrontendAtsc3CodeRate.UNDEFINED; /** * Hardware is able to detect and set code rate automatically */ public static final int CODERATE_AUTO = Constants.FrontendAtsc3CodeRate.AUTO; /** * 2/15 code rate. */ public static final int CODERATE_2_15 = Constants.FrontendAtsc3CodeRate.CODERATE_2_15; /** * 3/15 code rate. */ public static final int CODERATE_3_15 = Constants.FrontendAtsc3CodeRate.CODERATE_3_15; /** * 4/15 code rate. */ public static final int CODERATE_4_15 = Constants.FrontendAtsc3CodeRate.CODERATE_4_15; /** * 5/15 code rate. */ public static final int CODERATE_5_15 = Constants.FrontendAtsc3CodeRate.CODERATE_5_15; /** * 6/15 code rate. */ public static final int CODERATE_6_15 = Constants.FrontendAtsc3CodeRate.CODERATE_6_15; /** * 7/15 code rate. */ public static final int CODERATE_7_15 = Constants.FrontendAtsc3CodeRate.CODERATE_7_15; /** * 8/15 code rate. */ public static final int CODERATE_8_15 = Constants.FrontendAtsc3CodeRate.CODERATE_8_15; /** * 9/15 code rate. */ public static final int CODERATE_9_15 = Constants.FrontendAtsc3CodeRate.CODERATE_9_15; /** * 10/15 code rate. */ public static final int CODERATE_10_15 = Constants.FrontendAtsc3CodeRate.CODERATE_10_15; /** * 11/15 code rate. */ public static final int CODERATE_11_15 = Constants.FrontendAtsc3CodeRate.CODERATE_11_15; /** * 12/15 code rate. */ public static final int CODERATE_12_15 = Constants.FrontendAtsc3CodeRate.CODERATE_12_15; /** * 13/15 code rate. */ public static final int CODERATE_13_15 = Constants.FrontendAtsc3CodeRate.CODERATE_13_15; /** @hide */ @IntDef(flag = true, prefix = "FEC_", value = {FEC_UNDEFINED, FEC_AUTO, FEC_BCH_LDPC_16K, FEC_BCH_LDPC_64K, FEC_CRC_LDPC_16K, FEC_CRC_LDPC_64K, FEC_LDPC_16K, FEC_LDPC_64K}) @Retention(RetentionPolicy.SOURCE) public @interface Fec {} /** * Forward Error Correction undefined. */ public static final int FEC_UNDEFINED = Constants.FrontendAtsc3Fec.UNDEFINED; /** * Hardware is able to detect and set FEC automatically */ public static final int FEC_AUTO = Constants.FrontendAtsc3Fec.AUTO; /** * BCH LDPC 16K Forward Error Correction */ public static final int FEC_BCH_LDPC_16K = Constants.FrontendAtsc3Fec.BCH_LDPC_16K; /** * BCH LDPC 64K Forward Error Correction */ public static final int FEC_BCH_LDPC_64K = Constants.FrontendAtsc3Fec.BCH_LDPC_64K; /** * CRC LDPC 16K Forward Error Correction */ public static final int FEC_CRC_LDPC_16K = Constants.FrontendAtsc3Fec.CRC_LDPC_16K; /** * CRC LDPC 64K Forward Error Correction */ public static final int FEC_CRC_LDPC_64K = Constants.FrontendAtsc3Fec.CRC_LDPC_64K; /** * LDPC 16K Forward Error Correction */ public static final int FEC_LDPC_16K = Constants.FrontendAtsc3Fec.LDPC_16K; /** * LDPC 64K Forward Error Correction */ public static final int FEC_LDPC_64K = Constants.FrontendAtsc3Fec.LDPC_64K; /** @hide */ @IntDef(flag = true, prefix = "DEMOD_OUTPUT_FORMAT_", value = {DEMOD_OUTPUT_FORMAT_UNDEFINED, DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET, DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET}) @Retention(RetentionPolicy.SOURCE) public @interface DemodOutputFormat {} /** * Demod output format undefined. */ public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = Constants.FrontendAtsc3DemodOutputFormat.UNDEFINED; /** * ALP format. Typically used in US region. */ public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = Constants.FrontendAtsc3DemodOutputFormat.ATSC3_LINKLAYER_PACKET; /** * BaseBand packet format. Typically used in Korea region. */ public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = Constants.FrontendAtsc3DemodOutputFormat.BASEBAND_PACKET; public final int mBandwidth; public final int mDemodOutputFormat; public final Atsc3PlpSettings[] mPlpSettings; private Atsc3FrontendSettings(int frequency, int bandwidth, int demodOutputFormat, Atsc3PlpSettings[] plpSettings) { super(frequency); mBandwidth = bandwidth; mDemodOutputFormat = demodOutputFormat; mPlpSettings = plpSettings; } /** * Gets bandwidth. */ @Bandwidth public int getBandwidth() { return mBandwidth; } /** * Gets Demod Output Format. */ @DemodOutputFormat public int getDemodOutputFormat() { return mDemodOutputFormat; } /** * Gets PLP Settings. */ public Atsc3PlpSettings[] getPlpSettings() { return mPlpSettings; } /** * Creates a builder for {@link Atsc3FrontendSettings}. * * @param context the context of the caller. */ @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) @NonNull public static Builder builder(@NonNull Context context) { TunerUtils.checkTunerPermission(context); return new Builder(); } /** * Builder for {@link Atsc3FrontendSettings}. */ public static class Builder extends FrontendSettings.Builder<Builder> { private int mBandwidth; private byte mDemodOutputFormat; private Atsc3PlpSettings[] mPlpSettings; private Builder() { } /** * Sets bandwidth. */ @NonNull public Builder setBandwidth(int bandwidth) { mBandwidth = bandwidth; return this; } /** * Sets Demod Output Format. */ @NonNull public Builder setDemodOutputFormat(byte demodOutputFormat) { mDemodOutputFormat = demodOutputFormat; return this; } /** * Sets PLP Settings. */ @NonNull public Builder setPlpSettings(Atsc3PlpSettings[] plpSettings) { mPlpSettings = plpSettings; return this; } /** * Builds a {@link Atsc3FrontendSettings} object. */ @NonNull public Atsc3FrontendSettings build() { return new Atsc3FrontendSettings( mFrequency, mBandwidth, mDemodOutputFormat, mPlpSettings); } @Override Builder self() { return this; } } @Override Loading Loading
media/java/android/media/tv/tuner/TunerConstants.java +46 −621 File changed.Preview size limit exceeded, changes collapsed. Show changes
media/java/android/media/tv/tuner/frontend/AnalogFrontendCapabilities.java +5 −1 Original line number Diff line number Diff line Loading @@ -31,10 +31,14 @@ public class AnalogFrontendCapabilities extends FrontendCapabilities { /** * Gets type capability. */ @AnalogFrontendSettings.SignalType public int getTypeCapability() { return mTypeCap; } /** Gets SIF standard capability. */ /** * Gets SIF standard capability. */ @AnalogFrontendSettings.SifStandard public int getSifStandardCapability() { return mSifStandardCap; } Loading
media/java/android/media/tv/tuner/frontend/AnalogFrontendSettings.java +6 −3 Original line number Diff line number Diff line Loading @@ -30,8 +30,9 @@ import java.lang.annotation.RetentionPolicy; */ public class AnalogFrontendSettings extends FrontendSettings { /** @hide */ @IntDef(flag = true, value = {SIGNAL_TYPE_UNDEFINED, SIGNAL_TYPE_PAL, SIGNAL_TYPE_SECAM, SIGNAL_TYPE_NTSC}) @IntDef(flag = true, prefix = "SIGNAL_TYPE_", value = {SIGNAL_TYPE_UNDEFINED, SIGNAL_TYPE_PAL, SIGNAL_TYPE_SECAM, SIGNAL_TYPE_NTSC}) @Retention(RetentionPolicy.SOURCE) public @interface SignalType {} Loading @@ -54,7 +55,9 @@ public class AnalogFrontendSettings extends FrontendSettings { /** @hide */ @IntDef(flag = true, value = {SIF_UNDEFINED, SIF_BG, SIF_BG_A2, SIF_BG_NICAM, SIF_I, SIF_DK, @IntDef(flag = true, prefix = "SIF_", value = {SIF_UNDEFINED, SIF_BG, SIF_BG_A2, SIF_BG_NICAM, SIF_I, SIF_DK, SIF_DK1, SIF_DK2, SIF_DK3, SIF_DK_NICAM, SIF_L, SIF_M, SIF_M_BTSC, SIF_M_A2, SIF_M_EIA_J, SIF_I_NICAM, SIF_L_NICAM, SIF_L_PRIME}) @Retention(RetentionPolicy.SOURCE) Loading
media/java/android/media/tv/tuner/frontend/Atsc3FrontendCapabilities.java +26 −8 Original line number Diff line number Diff line Loading @@ -28,8 +28,8 @@ public class Atsc3FrontendCapabilities extends FrontendCapabilities { private final int mFecCap; private final int mDemodOutputFormatCap; Atsc3FrontendCapabilities(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { private Atsc3FrontendCapabilities(int bandwidthCap, int modulationCap, int timeInterleaveModeCap, int codeRateCap, int fecCap, int demodOutputFormatCap) { mBandwidthCap = bandwidthCap; mModulationCap = modulationCap; mTimeInterleaveModeCap = timeInterleaveModeCap; Loading @@ -38,27 +38,45 @@ public class Atsc3FrontendCapabilities extends FrontendCapabilities { mDemodOutputFormatCap = demodOutputFormatCap; } /** Gets bandwidth capability. */ /** * Gets bandwidth capability. */ @Atsc3FrontendSettings.Bandwidth public int getBandwidthCapability() { return mBandwidthCap; } /** Gets modulation capability. */ /** * Gets modulation capability. */ @Atsc3FrontendSettings.Modulation public int getModulationCapability() { return mModulationCap; } /** Gets time interleave mod capability. */ /** * Gets time interleave mod capability. */ @Atsc3FrontendSettings.TimeInterleaveMode public int getTimeInterleaveModeCapability() { return mTimeInterleaveModeCap; } /** Gets code rate capability. */ /** * Gets code rate capability. */ @Atsc3FrontendSettings.CodeRate public int getCodeRateCapability() { return mCodeRateCap; } /** Gets FEC capability. */ /** * Gets FEC capability. */ @Atsc3FrontendSettings.Fec public int getFecCapability() { return mFecCap; } /** Gets demodulator output format capability. */ /** * Gets demodulator output format capability. */ @Atsc3FrontendSettings.DemodOutputFormat public int getDemodOutputFormatCapability() { return mDemodOutputFormatCap; } Loading
media/java/android/media/tv/tuner/frontend/Atsc3FrontendSettings.java +343 −5 Original line number Diff line number Diff line Loading @@ -16,19 +16,357 @@ package android.media.tv.tuner.frontend; import java.util.List; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.content.Context; import android.hardware.tv.tuner.V1_0.Constants; import android.media.tv.tuner.TunerUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** * Frontend settings for ATSC-3. * @hide */ public class Atsc3FrontendSettings extends FrontendSettings { public int bandwidth; public byte demodOutputFormat; public List<Atsc3PlpSettings> plpSettings; Atsc3FrontendSettings(int frequency) { /** @hide */ @IntDef(flag = true, prefix = "BANDWIDTH_", value = {BANDWIDTH_UNDEFINED, BANDWIDTH_AUTO, BANDWIDTH_BANDWIDTH_6MHZ, BANDWIDTH_BANDWIDTH_7MHZ, BANDWIDTH_BANDWIDTH_8MHZ}) @Retention(RetentionPolicy.SOURCE) public @interface Bandwidth {} /** * Bandwidth not defined. */ public static final int BANDWIDTH_UNDEFINED = Constants.FrontendAtsc3Bandwidth.UNDEFINED; /** * Hardware is able to detect and set bandwidth automatically */ public static final int BANDWIDTH_AUTO = Constants.FrontendAtsc3Bandwidth.AUTO; /** * 6 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_6MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_6MHZ; /** * 7 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_7MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_7MHZ; /** * 8 MHz bandwidth. */ public static final int BANDWIDTH_BANDWIDTH_8MHZ = Constants.FrontendAtsc3Bandwidth.BANDWIDTH_8MHZ; /** @hide */ @IntDef(flag = true, prefix = "MODULATION_", value = {MODULATION_UNDEFINED, MODULATION_AUTO, MODULATION_MOD_QPSK, MODULATION_MOD_16QAM, MODULATION_MOD_64QAM, MODULATION_MOD_256QAM, MODULATION_MOD_1024QAM, MODULATION_MOD_4096QAM}) @Retention(RetentionPolicy.SOURCE) public @interface Modulation {} /** * Modulation undefined. */ public static final int MODULATION_UNDEFINED = Constants.FrontendAtsc3Modulation.UNDEFINED; /** * Hardware is able to detect and set modulation automatically. */ public static final int MODULATION_AUTO = Constants.FrontendAtsc3Modulation.AUTO; /** * QPSK modulation. */ public static final int MODULATION_MOD_QPSK = Constants.FrontendAtsc3Modulation.MOD_QPSK; /** * 16QAM modulation. */ public static final int MODULATION_MOD_16QAM = Constants.FrontendAtsc3Modulation.MOD_16QAM; /** * 64QAM modulation. */ public static final int MODULATION_MOD_64QAM = Constants.FrontendAtsc3Modulation.MOD_64QAM; /** * 256QAM modulation. */ public static final int MODULATION_MOD_256QAM = Constants.FrontendAtsc3Modulation.MOD_256QAM; /** * 1024QAM modulation. */ public static final int MODULATION_MOD_1024QAM = Constants.FrontendAtsc3Modulation.MOD_1024QAM; /** * 4096QAM modulation. */ public static final int MODULATION_MOD_4096QAM = Constants.FrontendAtsc3Modulation.MOD_4096QAM; /** @hide */ @IntDef(flag = true, prefix = "TIME_INTERLEAVE_MODE_", value = {TIME_INTERLEAVE_MODE_UNDEFINED, TIME_INTERLEAVE_MODE_AUTO, TIME_INTERLEAVE_MODE_CTI, TIME_INTERLEAVE_MODE_HTI}) @Retention(RetentionPolicy.SOURCE) public @interface TimeInterleaveMode {} /** * Time interleave mode undefined. */ public static final int TIME_INTERLEAVE_MODE_UNDEFINED = Constants.FrontendAtsc3TimeInterleaveMode.UNDEFINED; /** * Hardware is able to detect and set Time Interleave Mode automatically. */ public static final int TIME_INTERLEAVE_MODE_AUTO = Constants.FrontendAtsc3TimeInterleaveMode.AUTO; /** * CTI Time Interleave Mode. */ public static final int TIME_INTERLEAVE_MODE_CTI = Constants.FrontendAtsc3TimeInterleaveMode.CTI; /** * HTI Time Interleave Mode. */ public static final int TIME_INTERLEAVE_MODE_HTI = Constants.FrontendAtsc3TimeInterleaveMode.HTI; /** @hide */ @IntDef(flag = true, prefix = "CODERATE_", value = {CODERATE_UNDEFINED, CODERATE_AUTO, CODERATE_2_15, CODERATE_3_15, CODERATE_4_15, CODERATE_5_15, CODERATE_6_15, CODERATE_7_15, CODERATE_8_15, CODERATE_9_15, CODERATE_10_15, CODERATE_11_15, CODERATE_12_15, CODERATE_13_15}) @Retention(RetentionPolicy.SOURCE) public @interface CodeRate {} /** * Code rate undefined. */ public static final int CODERATE_UNDEFINED = Constants.FrontendAtsc3CodeRate.UNDEFINED; /** * Hardware is able to detect and set code rate automatically */ public static final int CODERATE_AUTO = Constants.FrontendAtsc3CodeRate.AUTO; /** * 2/15 code rate. */ public static final int CODERATE_2_15 = Constants.FrontendAtsc3CodeRate.CODERATE_2_15; /** * 3/15 code rate. */ public static final int CODERATE_3_15 = Constants.FrontendAtsc3CodeRate.CODERATE_3_15; /** * 4/15 code rate. */ public static final int CODERATE_4_15 = Constants.FrontendAtsc3CodeRate.CODERATE_4_15; /** * 5/15 code rate. */ public static final int CODERATE_5_15 = Constants.FrontendAtsc3CodeRate.CODERATE_5_15; /** * 6/15 code rate. */ public static final int CODERATE_6_15 = Constants.FrontendAtsc3CodeRate.CODERATE_6_15; /** * 7/15 code rate. */ public static final int CODERATE_7_15 = Constants.FrontendAtsc3CodeRate.CODERATE_7_15; /** * 8/15 code rate. */ public static final int CODERATE_8_15 = Constants.FrontendAtsc3CodeRate.CODERATE_8_15; /** * 9/15 code rate. */ public static final int CODERATE_9_15 = Constants.FrontendAtsc3CodeRate.CODERATE_9_15; /** * 10/15 code rate. */ public static final int CODERATE_10_15 = Constants.FrontendAtsc3CodeRate.CODERATE_10_15; /** * 11/15 code rate. */ public static final int CODERATE_11_15 = Constants.FrontendAtsc3CodeRate.CODERATE_11_15; /** * 12/15 code rate. */ public static final int CODERATE_12_15 = Constants.FrontendAtsc3CodeRate.CODERATE_12_15; /** * 13/15 code rate. */ public static final int CODERATE_13_15 = Constants.FrontendAtsc3CodeRate.CODERATE_13_15; /** @hide */ @IntDef(flag = true, prefix = "FEC_", value = {FEC_UNDEFINED, FEC_AUTO, FEC_BCH_LDPC_16K, FEC_BCH_LDPC_64K, FEC_CRC_LDPC_16K, FEC_CRC_LDPC_64K, FEC_LDPC_16K, FEC_LDPC_64K}) @Retention(RetentionPolicy.SOURCE) public @interface Fec {} /** * Forward Error Correction undefined. */ public static final int FEC_UNDEFINED = Constants.FrontendAtsc3Fec.UNDEFINED; /** * Hardware is able to detect and set FEC automatically */ public static final int FEC_AUTO = Constants.FrontendAtsc3Fec.AUTO; /** * BCH LDPC 16K Forward Error Correction */ public static final int FEC_BCH_LDPC_16K = Constants.FrontendAtsc3Fec.BCH_LDPC_16K; /** * BCH LDPC 64K Forward Error Correction */ public static final int FEC_BCH_LDPC_64K = Constants.FrontendAtsc3Fec.BCH_LDPC_64K; /** * CRC LDPC 16K Forward Error Correction */ public static final int FEC_CRC_LDPC_16K = Constants.FrontendAtsc3Fec.CRC_LDPC_16K; /** * CRC LDPC 64K Forward Error Correction */ public static final int FEC_CRC_LDPC_64K = Constants.FrontendAtsc3Fec.CRC_LDPC_64K; /** * LDPC 16K Forward Error Correction */ public static final int FEC_LDPC_16K = Constants.FrontendAtsc3Fec.LDPC_16K; /** * LDPC 64K Forward Error Correction */ public static final int FEC_LDPC_64K = Constants.FrontendAtsc3Fec.LDPC_64K; /** @hide */ @IntDef(flag = true, prefix = "DEMOD_OUTPUT_FORMAT_", value = {DEMOD_OUTPUT_FORMAT_UNDEFINED, DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET, DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET}) @Retention(RetentionPolicy.SOURCE) public @interface DemodOutputFormat {} /** * Demod output format undefined. */ public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = Constants.FrontendAtsc3DemodOutputFormat.UNDEFINED; /** * ALP format. Typically used in US region. */ public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = Constants.FrontendAtsc3DemodOutputFormat.ATSC3_LINKLAYER_PACKET; /** * BaseBand packet format. Typically used in Korea region. */ public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = Constants.FrontendAtsc3DemodOutputFormat.BASEBAND_PACKET; public final int mBandwidth; public final int mDemodOutputFormat; public final Atsc3PlpSettings[] mPlpSettings; private Atsc3FrontendSettings(int frequency, int bandwidth, int demodOutputFormat, Atsc3PlpSettings[] plpSettings) { super(frequency); mBandwidth = bandwidth; mDemodOutputFormat = demodOutputFormat; mPlpSettings = plpSettings; } /** * Gets bandwidth. */ @Bandwidth public int getBandwidth() { return mBandwidth; } /** * Gets Demod Output Format. */ @DemodOutputFormat public int getDemodOutputFormat() { return mDemodOutputFormat; } /** * Gets PLP Settings. */ public Atsc3PlpSettings[] getPlpSettings() { return mPlpSettings; } /** * Creates a builder for {@link Atsc3FrontendSettings}. * * @param context the context of the caller. */ @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) @NonNull public static Builder builder(@NonNull Context context) { TunerUtils.checkTunerPermission(context); return new Builder(); } /** * Builder for {@link Atsc3FrontendSettings}. */ public static class Builder extends FrontendSettings.Builder<Builder> { private int mBandwidth; private byte mDemodOutputFormat; private Atsc3PlpSettings[] mPlpSettings; private Builder() { } /** * Sets bandwidth. */ @NonNull public Builder setBandwidth(int bandwidth) { mBandwidth = bandwidth; return this; } /** * Sets Demod Output Format. */ @NonNull public Builder setDemodOutputFormat(byte demodOutputFormat) { mDemodOutputFormat = demodOutputFormat; return this; } /** * Sets PLP Settings. */ @NonNull public Builder setPlpSettings(Atsc3PlpSettings[] plpSettings) { mPlpSettings = plpSettings; return this; } /** * Builds a {@link Atsc3FrontendSettings} object. */ @NonNull public Atsc3FrontendSettings build() { return new Atsc3FrontendSettings( mFrequency, mBandwidth, mDemodOutputFormat, mPlpSettings); } @Override Builder self() { return this; } } @Override Loading