Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89a89054 authored by Hongguang Chen's avatar Hongguang Chen Committed by Android (Google) Code Review
Browse files

Merge "Use tuner AIDL HAL in Java codes."

parents fecbd8b7 956e6354
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ filegroup {
        // AIDL sources from external directories
        ":android.hardware.security.keymint-V1-java-source",
        ":android.hardware.security.secureclock-V1-java-source",
        ":android.hardware.tv.tuner-V1-java-source",
        ":android.security.apc-java-source",
        ":android.security.authorization-java-source",
        ":android.security.legacykeystore-java-source",
@@ -250,8 +251,6 @@ java_library {
        "android.hardware.thermal-V1.1-java",
        "android.hardware.thermal-V2.0-java",
        "android.hardware.tv.input-V1.0-java-constants",
        "android.hardware.tv.tuner-V1.0-java-constants",
        "android.hardware.tv.tuner-V1.1-java-constants",
        "android.hardware.usb-V1.0-java-constants",
        "android.hardware.usb-V1.1-java-constants",
        "android.hardware.usb-V1.2-java-constants",
@@ -331,6 +330,7 @@ java_defaults {
    ],
    sdk_version: "core_platform",
    static_libs: [
        "android.hardware.common.fmq-V1-java",
        // TODO(b/184162091)
        "android.hardware.soundtrigger3-V1-java",
        "bouncycastle-repackaged-unbundled",
@@ -559,8 +559,6 @@ stubs_defaults {
        "android.hardware.thermal-V1.0-java-constants",
        "android.hardware.thermal-V2.0-java",
        "android.hardware.tv.input-V1.0-java-constants",
        "android.hardware.tv.tuner-V1.0-java-constants",
        "android.hardware.tv.tuner-V1.1-java-constants",
        "android.hardware.usb-V1.0-java-constants",
        "android.hardware.usb-V1.1-java-constants",
        "android.hardware.usb.gadget-V1.0-java",
+5 −5
Original line number Diff line number Diff line
@@ -7028,13 +7028,13 @@ package android.media.tv.tuner.frontend {
    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
    field public static final long FEC_29_45 = 1L; // 0x1L
    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
    field public static final long FEC_2_3 = 32L; // 0x20L
    field public static final long FEC_2_5 = 64L; // 0x40L
    field public static final long FEC_2_9 = 128L; // 0x80L
    field public static final long FEC_31_45 = 2L; // 0x2L
    field public static final long FEC_32_45 = 4L; // 0x4L
    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
    field public static final long FEC_3_4 = 256L; // 0x100L
    field public static final long FEC_3_5 = 512L; // 0x200L
    field public static final long FEC_4_15 = 2048L; // 0x800L
@@ -7042,7 +7042,7 @@ package android.media.tv.tuner.frontend {
    field public static final long FEC_5_6 = 4096L; // 0x1000L
    field public static final long FEC_5_9 = 8192L; // 0x2000L
    field public static final long FEC_6_7 = 16384L; // 0x4000L
    field public static final long FEC_77_90 = 8L; // 0x8L
    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
    field public static final long FEC_7_15 = 131072L; // 0x20000L
    field public static final long FEC_7_8 = 32768L; // 0x8000L
    field public static final long FEC_7_9 = 65536L; // 0x10000L
+22 −22
Original line number Diff line number Diff line
@@ -20,7 +20,10 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.hardware.tv.tuner.V1_0.Constants;
import android.hardware.tv.tuner.LnbEventType;
import android.hardware.tv.tuner.LnbPosition;
import android.hardware.tv.tuner.LnbTone;
import android.hardware.tv.tuner.LnbVoltage;
import android.media.tv.tuner.Tuner.Result;

import java.lang.annotation.Retention;
@@ -48,39 +51,39 @@ public class Lnb implements AutoCloseable {
    /**
     * LNB power voltage not set.
     */
    public static final int VOLTAGE_NONE = Constants.LnbVoltage.NONE;
    public static final int VOLTAGE_NONE = LnbVoltage.NONE;
    /**
     * LNB power voltage 5V.
     */
    public static final int VOLTAGE_5V = Constants.LnbVoltage.VOLTAGE_5V;
    public static final int VOLTAGE_5V = LnbVoltage.VOLTAGE_5V;
    /**
     * LNB power voltage 11V.
     */
    public static final int VOLTAGE_11V = Constants.LnbVoltage.VOLTAGE_11V;
    public static final int VOLTAGE_11V = LnbVoltage.VOLTAGE_11V;
    /**
     * LNB power voltage 12V.
     */
    public static final int VOLTAGE_12V = Constants.LnbVoltage.VOLTAGE_12V;
    public static final int VOLTAGE_12V = LnbVoltage.VOLTAGE_12V;
    /**
     * LNB power voltage 13V.
     */
    public static final int VOLTAGE_13V = Constants.LnbVoltage.VOLTAGE_13V;
    public static final int VOLTAGE_13V = LnbVoltage.VOLTAGE_13V;
    /**
     * LNB power voltage 14V.
     */
    public static final int VOLTAGE_14V = Constants.LnbVoltage.VOLTAGE_14V;
    public static final int VOLTAGE_14V = LnbVoltage.VOLTAGE_14V;
    /**
     * LNB power voltage 15V.
     */
    public static final int VOLTAGE_15V = Constants.LnbVoltage.VOLTAGE_15V;
    public static final int VOLTAGE_15V = LnbVoltage.VOLTAGE_15V;
    /**
     * LNB power voltage 18V.
     */
    public static final int VOLTAGE_18V = Constants.LnbVoltage.VOLTAGE_18V;
    public static final int VOLTAGE_18V = LnbVoltage.VOLTAGE_18V;
    /**
     * LNB power voltage 19V.
     */
    public static final int VOLTAGE_19V = Constants.LnbVoltage.VOLTAGE_19V;
    public static final int VOLTAGE_19V = LnbVoltage.VOLTAGE_19V;

    /** @hide */
    @IntDef(prefix = "TONE_",
@@ -91,11 +94,11 @@ public class Lnb implements AutoCloseable {
    /**
     * LNB tone mode not set.
     */
    public static final int TONE_NONE = Constants.LnbTone.NONE;
    public static final int TONE_NONE = LnbTone.NONE;
    /**
     * LNB continuous tone mode.
     */
    public static final int TONE_CONTINUOUS = Constants.LnbTone.CONTINUOUS;
    public static final int TONE_CONTINUOUS = LnbTone.CONTINUOUS;

    /** @hide */
    @IntDef(prefix = "POSITION_",
@@ -106,15 +109,15 @@ public class Lnb implements AutoCloseable {
    /**
     * LNB position is not defined.
     */
    public static final int POSITION_UNDEFINED = Constants.LnbPosition.UNDEFINED;
    public static final int POSITION_UNDEFINED = LnbPosition.UNDEFINED;
    /**
     * Position A of two-band LNBs
     */
    public static final int POSITION_A = Constants.LnbPosition.POSITION_A;
    public static final int POSITION_A = LnbPosition.POSITION_A;
    /**
     * Position B of two-band LNBs
     */
    public static final int POSITION_B = Constants.LnbPosition.POSITION_B;
    public static final int POSITION_B = LnbPosition.POSITION_B;

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
@@ -126,22 +129,19 @@ public class Lnb implements AutoCloseable {
    /**
     * Outgoing Diseqc message overflow.
     */
    public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW =
            Constants.LnbEventType.DISEQC_RX_OVERFLOW;
    public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = LnbEventType.DISEQC_RX_OVERFLOW;
    /**
     * Outgoing Diseqc message isn't delivered on time.
     */
    public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT =
            Constants.LnbEventType.DISEQC_RX_TIMEOUT;
    public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = LnbEventType.DISEQC_RX_TIMEOUT;
    /**
     * Incoming Diseqc message has parity error.
     */
    public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR =
            Constants.LnbEventType.DISEQC_RX_PARITY_ERROR;
    public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = LnbEventType.DISEQC_RX_PARITY_ERROR;
    /**
     * LNB is overload.
     */
    public static final int EVENT_TYPE_LNB_OVERLOAD = Constants.LnbEventType.LNB_OVERLOAD;
    public static final int EVENT_TYPE_LNB_OVERLOAD = LnbEventType.LNB_OVERLOAD;

    private static final String TAG = "Lnb";

+30 −32
Original line number Diff line number Diff line
@@ -25,7 +25,9 @@ import android.annotation.RequiresPermission;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.content.Context;
import android.hardware.tv.tuner.V1_0.Constants;
import android.hardware.tv.tuner.Constant;
import android.hardware.tv.tuner.Constant64Bit;
import android.hardware.tv.tuner.FrontendScanType;
import android.media.tv.TvInputService;
import android.media.tv.tuner.dvr.DvrPlayback;
import android.media.tv.tuner.dvr.DvrRecorder;
@@ -85,19 +87,19 @@ public class Tuner implements AutoCloseable {
    /**
     * Invalid TS packet ID.
     */
    public static final int INVALID_TS_PID = Constants.Constant.INVALID_TS_PID;
    public static final int INVALID_TS_PID = Constant.INVALID_TS_PID;
    /**
     * Invalid stream ID.
     */
    public static final int INVALID_STREAM_ID = Constants.Constant.INVALID_STREAM_ID;
    public static final int INVALID_STREAM_ID = Constant.INVALID_STREAM_ID;
    /**
     * Invalid filter ID.
     */
    public static final int INVALID_FILTER_ID = Constants.Constant.INVALID_FILTER_ID;
    public static final int INVALID_FILTER_ID = Constant.INVALID_FILTER_ID;
    /**
     * Invalid AV Sync ID.
     */
    public static final int INVALID_AV_SYNC_ID = Constants.Constant.INVALID_AV_SYNC_ID;
    public static final int INVALID_AV_SYNC_ID = Constant.INVALID_AV_SYNC_ID;
    /**
     * Invalid timestamp.
     *
@@ -113,7 +115,7 @@ public class Tuner implements AutoCloseable {
     * @see android.media.tv.tuner.filter.MmtpRecordEvent#getPts()
     */
    public static final long INVALID_TIMESTAMP =
            android.hardware.tv.tuner.V1_1.Constants.Constant64Bit.INVALID_PRESENTATION_TIME_STAMP;
            Constant64Bit.INVALID_PRESENTATION_TIME_STAMP;
    /**
     * Invalid mpu sequence number in MmtpRecordEvent.
     *
@@ -123,8 +125,7 @@ public class Tuner implements AutoCloseable {
     * @see android.media.tv.tuner.filter.MmtpRecordEvent#getMpuSequenceNumber()
     */
    public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM =
            android.hardware.tv.tuner.V1_1.Constants.Constant
                    .INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM;
            Constant.INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM;
    /**
     * Invalid first macroblock address in MmtpRecordEvent and TsRecordEvent.
     *
@@ -135,7 +136,7 @@ public class Tuner implements AutoCloseable {
     * @see android.media.tv.tuner.filter.TsRecordEvent#getMbInSlice()
     */
    public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE =
            android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_FIRST_MACROBLOCK_IN_SLICE;
            Constant.INVALID_FIRST_MACROBLOCK_IN_SLICE;
    /**
     * Invalid local transport stream id.
     *
@@ -144,30 +145,26 @@ public class Tuner implements AutoCloseable {
     *
     * @see #linkFrontendToCiCam(int)
     */
    public static final int INVALID_LTS_ID =
            android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_LTS_ID;
    public static final int INVALID_LTS_ID = Constant.INVALID_LTS_ID;
    /**
     * Invalid 64-bit filter ID.
     */
    public static final long INVALID_FILTER_ID_LONG =
            android.hardware.tv.tuner.V1_1.Constants.Constant64Bit.INVALID_FILTER_ID_64BIT;
    public static final long INVALID_FILTER_ID_LONG = Constant64Bit.INVALID_FILTER_ID_64BIT;
    /**
     * Invalid frequency that is used as the default frontend frequency setting.
     */
    public static final int INVALID_FRONTEND_SETTING_FREQUENCY =
            android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_FRONTEND_SETTING_FREQUENCY;
            Constant.INVALID_FRONTEND_SETTING_FREQUENCY;
    /**
     * Invalid frontend id.
     */
    public static final int INVALID_FRONTEND_ID =
            android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_FRONTEND_ID;
    public static final int INVALID_FRONTEND_ID = Constant.INVALID_FRONTEND_ID;
    /**
     * Invalid LNB id.
     *
     * @hide
     */
    public static final int INVALID_LNB_ID =
            android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_LNB_ID;
    public static final int INVALID_LNB_ID = Constant.INVALID_LNB_ID;
    /**
     * A void key token. It is used to remove the current key from descrambler.
     *
@@ -175,8 +172,7 @@ public class Tuner implements AutoCloseable {
     * to use this constant to remove current key before closing MediaCas session.
     */
    @NonNull
    public static final byte[] VOID_KEYTOKEN =
            {android.hardware.tv.tuner.V1_1.Constants.Constant.INVALID_KEYTOKEN};
    public static final byte[] VOID_KEYTOKEN = {Constant.INVALID_KEYTOKEN};

    /** @hide */
    @IntDef(prefix = "SCAN_TYPE_", value = {SCAN_TYPE_UNDEFINED, SCAN_TYPE_AUTO, SCAN_TYPE_BLIND})
@@ -185,20 +181,20 @@ public class Tuner implements AutoCloseable {
    /**
     * Scan type undefined.
     */
    public static final int SCAN_TYPE_UNDEFINED = Constants.FrontendScanType.SCAN_UNDEFINED;
    public static final int SCAN_TYPE_UNDEFINED = FrontendScanType.SCAN_UNDEFINED;
    /**
     * Scan type auto.
     *
     * <p> Tuner will send {@link android.media.tv.tuner.frontend.ScanCallback#onLocked}
     */
    public static final int SCAN_TYPE_AUTO = Constants.FrontendScanType.SCAN_AUTO;
    public static final int SCAN_TYPE_AUTO = FrontendScanType.SCAN_AUTO;
    /**
     * Blind scan.
     *
     * <p>Frequency range is not specified. The {@link android.media.tv.tuner.Tuner} will scan an
     * implementation specific range.
     */
    public static final int SCAN_TYPE_BLIND = Constants.FrontendScanType.SCAN_BLIND;
    public static final int SCAN_TYPE_BLIND = FrontendScanType.SCAN_BLIND;


    /** @hide */
@@ -210,31 +206,33 @@ public class Tuner implements AutoCloseable {
    /**
     * Operation succeeded.
     */
    public static final int RESULT_SUCCESS = Constants.Result.SUCCESS;
    public static final int RESULT_SUCCESS = android.hardware.tv.tuner.Result.SUCCESS;
    /**
     * Operation failed because the corresponding resources are not available.
     */
    public static final int RESULT_UNAVAILABLE = Constants.Result.UNAVAILABLE;
    public static final int RESULT_UNAVAILABLE = android.hardware.tv.tuner.Result.UNAVAILABLE;
    /**
     * Operation failed because the corresponding resources are not initialized.
     */
    public static final int RESULT_NOT_INITIALIZED = Constants.Result.NOT_INITIALIZED;
    public static final int RESULT_NOT_INITIALIZED =
            android.hardware.tv.tuner.Result.NOT_INITIALIZED;
    /**
     * Operation failed because it's not in a valid state.
     */
    public static final int RESULT_INVALID_STATE = Constants.Result.INVALID_STATE;
    public static final int RESULT_INVALID_STATE = android.hardware.tv.tuner.Result.INVALID_STATE;
    /**
     * Operation failed because there are invalid arguments.
     */
    public static final int RESULT_INVALID_ARGUMENT = Constants.Result.INVALID_ARGUMENT;
    public static final int RESULT_INVALID_ARGUMENT =
            android.hardware.tv.tuner.Result.INVALID_ARGUMENT;
    /**
     * Memory allocation failed.
     */
    public static final int RESULT_OUT_OF_MEMORY = Constants.Result.OUT_OF_MEMORY;
    public static final int RESULT_OUT_OF_MEMORY = android.hardware.tv.tuner.Result.OUT_OF_MEMORY;
    /**
     * Operation failed due to unknown errors.
     */
    public static final int RESULT_UNKNOWN_ERROR = Constants.Result.UNKNOWN_ERROR;
    public static final int RESULT_UNKNOWN_ERROR = android.hardware.tv.tuner.Result.UNKNOWN_ERROR;



@@ -257,12 +255,12 @@ public class Tuner implements AutoCloseable {
     * DVR for recording.
     * @hide
     */
    public static final int DVR_TYPE_RECORD = Constants.DvrType.RECORD;
    public static final int DVR_TYPE_RECORD = android.hardware.tv.tuner.DvrType.RECORD;
    /**
     * DVR for playback of recorded programs.
     * @hide
     */
    public static final int DVR_TYPE_PLAYBACK = Constants.DvrType.PLAYBACK;
    public static final int DVR_TYPE_PLAYBACK = android.hardware.tv.tuner.DvrType.PLAYBACK;

    static {
        try {
+36 −32
Original line number Diff line number Diff line
@@ -17,7 +17,11 @@
package android.media.tv.tuner;

import android.annotation.Nullable;
import android.hardware.tv.tuner.V1_0.Constants;
import android.hardware.tv.tuner.DemuxAlpFilterType;
import android.hardware.tv.tuner.DemuxIpFilterType;
import android.hardware.tv.tuner.DemuxMmtpFilterType;
import android.hardware.tv.tuner.DemuxTlvFilterType;
import android.hardware.tv.tuner.DemuxTsFilterType;
import android.media.tv.tuner.filter.Filter;

/**
@@ -37,44 +41,44 @@ public final class TunerUtils {
        if (mainType == Filter.TYPE_TS) {
            switch (subtype) {
                case Filter.SUBTYPE_UNDEFINED:
                    return Constants.DemuxTsFilterType.UNDEFINED;
                    return DemuxTsFilterType.UNDEFINED;
                case Filter.SUBTYPE_SECTION:
                    return Constants.DemuxTsFilterType.SECTION;
                    return DemuxTsFilterType.SECTION;
                case Filter.SUBTYPE_PES:
                    return Constants.DemuxTsFilterType.PES;
                    return DemuxTsFilterType.PES;
                case Filter.SUBTYPE_TS:
                    return Constants.DemuxTsFilterType.TS;
                    return DemuxTsFilterType.TS;
                case Filter.SUBTYPE_AUDIO:
                    return Constants.DemuxTsFilterType.AUDIO;
                    return DemuxTsFilterType.AUDIO;
                case Filter.SUBTYPE_VIDEO:
                    return Constants.DemuxTsFilterType.VIDEO;
                    return DemuxTsFilterType.VIDEO;
                case Filter.SUBTYPE_PCR:
                    return Constants.DemuxTsFilterType.PCR;
                    return DemuxTsFilterType.PCR;
                case Filter.SUBTYPE_RECORD:
                    return Constants.DemuxTsFilterType.RECORD;
                    return DemuxTsFilterType.RECORD;
                case Filter.SUBTYPE_TEMI:
                    return Constants.DemuxTsFilterType.TEMI;
                    return DemuxTsFilterType.TEMI;
                default:
                    break;
            }
        } else if (mainType == Filter.TYPE_MMTP) {
            switch (subtype) {
                case Filter.SUBTYPE_UNDEFINED:
                    return Constants.DemuxMmtpFilterType.UNDEFINED;
                    return DemuxMmtpFilterType.UNDEFINED;
                case Filter.SUBTYPE_SECTION:
                    return Constants.DemuxMmtpFilterType.SECTION;
                    return DemuxMmtpFilterType.SECTION;
                case Filter.SUBTYPE_PES:
                    return Constants.DemuxMmtpFilterType.PES;
                    return DemuxMmtpFilterType.PES;
                case Filter.SUBTYPE_MMTP:
                    return Constants.DemuxMmtpFilterType.MMTP;
                    return DemuxMmtpFilterType.MMTP;
                case Filter.SUBTYPE_AUDIO:
                    return Constants.DemuxMmtpFilterType.AUDIO;
                    return DemuxMmtpFilterType.AUDIO;
                case Filter.SUBTYPE_VIDEO:
                    return Constants.DemuxMmtpFilterType.VIDEO;
                    return DemuxMmtpFilterType.VIDEO;
                case Filter.SUBTYPE_RECORD:
                    return Constants.DemuxMmtpFilterType.RECORD;
                    return DemuxMmtpFilterType.RECORD;
                case Filter.SUBTYPE_DOWNLOAD:
                    return Constants.DemuxMmtpFilterType.DOWNLOAD;
                    return DemuxMmtpFilterType.DOWNLOAD;
                default:
                    break;
            }
@@ -82,43 +86,43 @@ public final class TunerUtils {
        } else if (mainType == Filter.TYPE_IP) {
            switch (subtype) {
                case Filter.SUBTYPE_UNDEFINED:
                    return Constants.DemuxIpFilterType.UNDEFINED;
                    return DemuxIpFilterType.UNDEFINED;
                case Filter.SUBTYPE_SECTION:
                    return Constants.DemuxIpFilterType.SECTION;
                    return DemuxIpFilterType.SECTION;
                case Filter.SUBTYPE_NTP:
                    return Constants.DemuxIpFilterType.NTP;
                    return DemuxIpFilterType.NTP;
                case Filter.SUBTYPE_IP_PAYLOAD:
                    return Constants.DemuxIpFilterType.IP_PAYLOAD;
                    return DemuxIpFilterType.IP_PAYLOAD;
                case Filter.SUBTYPE_IP:
                    return Constants.DemuxIpFilterType.IP;
                    return DemuxIpFilterType.IP;
                case Filter.SUBTYPE_PAYLOAD_THROUGH:
                    return Constants.DemuxIpFilterType.PAYLOAD_THROUGH;
                    return DemuxIpFilterType.PAYLOAD_THROUGH;
                default:
                    break;
            }
        } else if (mainType == Filter.TYPE_TLV) {
            switch (subtype) {
                case Filter.SUBTYPE_UNDEFINED:
                    return Constants.DemuxTlvFilterType.UNDEFINED;
                    return DemuxTlvFilterType.UNDEFINED;
                case Filter.SUBTYPE_SECTION:
                    return Constants.DemuxTlvFilterType.SECTION;
                    return DemuxTlvFilterType.SECTION;
                case Filter.SUBTYPE_TLV:
                    return Constants.DemuxTlvFilterType.TLV;
                    return DemuxTlvFilterType.TLV;
                case Filter.SUBTYPE_PAYLOAD_THROUGH:
                    return Constants.DemuxTlvFilterType.PAYLOAD_THROUGH;
                    return DemuxTlvFilterType.PAYLOAD_THROUGH;
                default:
                    break;
            }
        } else if (mainType == Filter.TYPE_ALP) {
            switch (subtype) {
                case Filter.SUBTYPE_UNDEFINED:
                    return Constants.DemuxAlpFilterType.UNDEFINED;
                    return DemuxAlpFilterType.UNDEFINED;
                case Filter.SUBTYPE_SECTION:
                    return Constants.DemuxAlpFilterType.SECTION;
                    return DemuxAlpFilterType.SECTION;
                case Filter.SUBTYPE_PTP:
                    return Constants.DemuxAlpFilterType.PTP;
                    return DemuxAlpFilterType.PTP;
                case Filter.SUBTYPE_PAYLOAD_THROUGH:
                    return Constants.DemuxAlpFilterType.PAYLOAD_THROUGH;
                    return DemuxAlpFilterType.PAYLOAD_THROUGH;
                default:
                    break;
            }
Loading