Loading api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -5408,6 +5408,7 @@ package android.media.tv.tuner.filter { method public int getMpuSequenceNumber(); method public long getPts(); method public int getScHevcIndexMask(); method public int getTsIndexMask(); } public class PesEvent extends android.media.tv.tuner.filter.FilterEvent { Loading Loading @@ -5436,6 +5437,11 @@ package android.media.tv.tuner.filter { field public static final int INDEX_TYPE_NONE = 0; // 0x0 field public static final int INDEX_TYPE_SC = 1; // 0x1 field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2 field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000 field public static final int MPT_INDEX_MPT = 65536; // 0x10000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000 field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000 field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2 field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10 field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8 Loading @@ -5459,6 +5465,7 @@ package android.media.tv.tuner.filter { field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10 field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20 field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1 field public static final int TS_INDEX_INVALID = 0; // 0x0 field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200 field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2 field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100 Loading core/api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -5348,6 +5348,7 @@ package android.media.tv.tuner.filter { method public int getMpuSequenceNumber(); method public long getPts(); method public int getScHevcIndexMask(); method public int getTsIndexMask(); } public class PesEvent extends android.media.tv.tuner.filter.FilterEvent { Loading Loading @@ -5376,6 +5377,11 @@ package android.media.tv.tuner.filter { field public static final int INDEX_TYPE_NONE = 0; // 0x0 field public static final int INDEX_TYPE_SC = 1; // 0x1 field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2 field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000 field public static final int MPT_INDEX_MPT = 65536; // 0x10000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000 field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000 field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2 field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10 field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8 Loading @@ -5399,6 +5405,7 @@ package android.media.tv.tuner.filter { field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10 field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20 field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1 field public static final int TS_INDEX_INVALID = 0; // 0x0 field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200 field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2 field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100 Loading media/java/android/media/tv/tuner/filter/MmtpRecordEvent.java +17 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import android.annotation.SystemApi; import android.media.tv.tuner.filter.RecordSettings.ScHevcIndex; /** * Filter event sent from {@link Filter} objects with MMTP type. * Filter event sent from {@link Filter} objects with MPEG media Transport Protocol(MMTP) type. * * @hide */ Loading @@ -32,15 +32,17 @@ public class MmtpRecordEvent extends FilterEvent { private final int mMpuSequenceNumber; private final long mPts; private final int mFirstMbInSlice; private final int mTsIndexMask; // This constructor is used by JNI code only private MmtpRecordEvent(int scHevcIndexMask, long dataLength, int mpuSequenceNumber, long pts, int firstMbInSlice) { int firstMbInSlice, int tsIndexMask) { mScHevcIndexMask = scHevcIndexMask; mDataLength = dataLength; mMpuSequenceNumber = mpuSequenceNumber; mPts = pts; mFirstMbInSlice = firstMbInSlice; mTsIndexMask = tsIndexMask; } /** Loading Loading @@ -95,4 +97,17 @@ public class MmtpRecordEvent extends FilterEvent { public int getFirstMbInSlice() { return mFirstMbInSlice; } /** * Get the offset of the recorded keyframe from MMT Packet Table. * * <p>This field is only supported in Tuner 1.1 or higher version. Unsupported version will * return {@link RecordSettings.TS_INDEX_INVALID}. Use * {@link android.media.tv.tuner.TunerVersionChecker.getTunerVersion()} to get the * version information. */ @RecordSettings.TsIndexMask public int getTsIndexMask() { return mTsIndexMask; } } media/java/android/media/tv/tuner/filter/RecordSettings.java +35 −3 Original line number Diff line number Diff line Loading @@ -38,16 +38,22 @@ public class RecordSettings extends Settings { * @hide */ @IntDef(flag = true, prefix = "TS_INDEX_", value = {TS_INDEX_FIRST_PACKET, TS_INDEX_PAYLOAD_UNIT_START_INDICATOR, value = {TS_INDEX_INVALID, TS_INDEX_FIRST_PACKET, TS_INDEX_PAYLOAD_UNIT_START_INDICATOR, TS_INDEX_CHANGE_TO_NOT_SCRAMBLED, TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED, TS_INDEX_CHANGE_TO_ODD_SCRAMBLED, TS_INDEX_DISCONTINUITY_INDICATOR, TS_INDEX_RANDOM_ACCESS_INDICATOR, TS_INDEX_PRIORITY_INDICATOR, TS_INDEX_PCR_FLAG, TS_INDEX_OPCR_FLAG, TS_INDEX_SPLICING_POINT_FLAG, TS_INDEX_PRIVATE_DATA, TS_INDEX_ADAPTATION_EXTENSION_FLAG}) TS_INDEX_PRIVATE_DATA, TS_INDEX_ADAPTATION_EXTENSION_FLAG, MPT_INDEX_MPT, MPT_INDEX_VIDEO, MPT_INDEX_AUDIO, MPT_INDEX_TIMESTAMP_TARGET_VIDEO, MPT_INDEX_TIMESTAMP_TARGET_AUDIO}) @Retention(RetentionPolicy.SOURCE) public @interface TsIndexMask {} /** * Invalid TS index. */ public static final int TS_INDEX_INVALID = 0; /** * TS index FIRST_PACKET. */ Loading Loading @@ -108,6 +114,32 @@ public class RecordSettings extends Settings { */ public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = Constants.DemuxTsIndex.ADAPTATION_EXTENSION_FLAG; /** * Index the address of MPEG Media Transport Packet Table(MPT). */ public static final int MPT_INDEX_MPT = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_MPT; /** * Index the address of Video. */ public static final int MPT_INDEX_VIDEO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_VIDEO; /** * Index the address of Audio. */ public static final int MPT_INDEX_AUDIO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_AUDIO; /** * Index to indicate this is a target of timestamp extraction for video. */ public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_TIMESTAMP_TARGET_VIDEO; /** * Index to indicate this is a target of timestamp extraction for audio. */ public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_TIMESTAMP_TARGET_AUDIO; /** @hide */ @Retention(RetentionPolicy.SOURCE) Loading media/jni/android_media_tv_Tuner.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -640,10 +640,12 @@ jobjectArray FilterCallback::getMmtpRecordEvent( jlong firstMbInSlice = (eventsExt.size() > i) ? static_cast<jint>(eventsExt[i].mmtpRecord().firstMbInSlice) : static_cast<jint>(Constant::INVALID_FIRST_MACROBLOCK_IN_SLICE); jlong tsIndexMask = (eventsExt.size() > i) ? static_cast<jint>(eventsExt[i].mmtpRecord().tsIndexMask) : 0; jobject obj = env->NewObject(eventClazz, eventInit, scHevcIndexMask, byteNumber, mpuSequenceNumber, pts, firstMbInSlice); mpuSequenceNumber, pts, firstMbInSlice, tsIndexMask); env->SetObjectArrayElement(arr, i, obj); } return arr; Loading Loading
api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -5408,6 +5408,7 @@ package android.media.tv.tuner.filter { method public int getMpuSequenceNumber(); method public long getPts(); method public int getScHevcIndexMask(); method public int getTsIndexMask(); } public class PesEvent extends android.media.tv.tuner.filter.FilterEvent { Loading Loading @@ -5436,6 +5437,11 @@ package android.media.tv.tuner.filter { field public static final int INDEX_TYPE_NONE = 0; // 0x0 field public static final int INDEX_TYPE_SC = 1; // 0x1 field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2 field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000 field public static final int MPT_INDEX_MPT = 65536; // 0x10000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000 field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000 field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2 field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10 field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8 Loading @@ -5459,6 +5465,7 @@ package android.media.tv.tuner.filter { field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10 field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20 field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1 field public static final int TS_INDEX_INVALID = 0; // 0x0 field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200 field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2 field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100 Loading
core/api/system-current.txt +7 −0 Original line number Diff line number Diff line Loading @@ -5348,6 +5348,7 @@ package android.media.tv.tuner.filter { method public int getMpuSequenceNumber(); method public long getPts(); method public int getScHevcIndexMask(); method public int getTsIndexMask(); } public class PesEvent extends android.media.tv.tuner.filter.FilterEvent { Loading Loading @@ -5376,6 +5377,11 @@ package android.media.tv.tuner.filter { field public static final int INDEX_TYPE_NONE = 0; // 0x0 field public static final int INDEX_TYPE_SC = 1; // 0x1 field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2 field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000 field public static final int MPT_INDEX_MPT = 65536; // 0x10000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000 field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000 field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000 field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2 field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10 field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8 Loading @@ -5399,6 +5405,7 @@ package android.media.tv.tuner.filter { field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10 field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20 field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1 field public static final int TS_INDEX_INVALID = 0; // 0x0 field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200 field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2 field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100 Loading
media/java/android/media/tv/tuner/filter/MmtpRecordEvent.java +17 −2 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ import android.annotation.SystemApi; import android.media.tv.tuner.filter.RecordSettings.ScHevcIndex; /** * Filter event sent from {@link Filter} objects with MMTP type. * Filter event sent from {@link Filter} objects with MPEG media Transport Protocol(MMTP) type. * * @hide */ Loading @@ -32,15 +32,17 @@ public class MmtpRecordEvent extends FilterEvent { private final int mMpuSequenceNumber; private final long mPts; private final int mFirstMbInSlice; private final int mTsIndexMask; // This constructor is used by JNI code only private MmtpRecordEvent(int scHevcIndexMask, long dataLength, int mpuSequenceNumber, long pts, int firstMbInSlice) { int firstMbInSlice, int tsIndexMask) { mScHevcIndexMask = scHevcIndexMask; mDataLength = dataLength; mMpuSequenceNumber = mpuSequenceNumber; mPts = pts; mFirstMbInSlice = firstMbInSlice; mTsIndexMask = tsIndexMask; } /** Loading Loading @@ -95,4 +97,17 @@ public class MmtpRecordEvent extends FilterEvent { public int getFirstMbInSlice() { return mFirstMbInSlice; } /** * Get the offset of the recorded keyframe from MMT Packet Table. * * <p>This field is only supported in Tuner 1.1 or higher version. Unsupported version will * return {@link RecordSettings.TS_INDEX_INVALID}. Use * {@link android.media.tv.tuner.TunerVersionChecker.getTunerVersion()} to get the * version information. */ @RecordSettings.TsIndexMask public int getTsIndexMask() { return mTsIndexMask; } }
media/java/android/media/tv/tuner/filter/RecordSettings.java +35 −3 Original line number Diff line number Diff line Loading @@ -38,16 +38,22 @@ public class RecordSettings extends Settings { * @hide */ @IntDef(flag = true, prefix = "TS_INDEX_", value = {TS_INDEX_FIRST_PACKET, TS_INDEX_PAYLOAD_UNIT_START_INDICATOR, value = {TS_INDEX_INVALID, TS_INDEX_FIRST_PACKET, TS_INDEX_PAYLOAD_UNIT_START_INDICATOR, TS_INDEX_CHANGE_TO_NOT_SCRAMBLED, TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED, TS_INDEX_CHANGE_TO_ODD_SCRAMBLED, TS_INDEX_DISCONTINUITY_INDICATOR, TS_INDEX_RANDOM_ACCESS_INDICATOR, TS_INDEX_PRIORITY_INDICATOR, TS_INDEX_PCR_FLAG, TS_INDEX_OPCR_FLAG, TS_INDEX_SPLICING_POINT_FLAG, TS_INDEX_PRIVATE_DATA, TS_INDEX_ADAPTATION_EXTENSION_FLAG}) TS_INDEX_PRIVATE_DATA, TS_INDEX_ADAPTATION_EXTENSION_FLAG, MPT_INDEX_MPT, MPT_INDEX_VIDEO, MPT_INDEX_AUDIO, MPT_INDEX_TIMESTAMP_TARGET_VIDEO, MPT_INDEX_TIMESTAMP_TARGET_AUDIO}) @Retention(RetentionPolicy.SOURCE) public @interface TsIndexMask {} /** * Invalid TS index. */ public static final int TS_INDEX_INVALID = 0; /** * TS index FIRST_PACKET. */ Loading Loading @@ -108,6 +114,32 @@ public class RecordSettings extends Settings { */ public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = Constants.DemuxTsIndex.ADAPTATION_EXTENSION_FLAG; /** * Index the address of MPEG Media Transport Packet Table(MPT). */ public static final int MPT_INDEX_MPT = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_MPT; /** * Index the address of Video. */ public static final int MPT_INDEX_VIDEO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_VIDEO; /** * Index the address of Audio. */ public static final int MPT_INDEX_AUDIO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_AUDIO; /** * Index to indicate this is a target of timestamp extraction for video. */ public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_TIMESTAMP_TARGET_VIDEO; /** * Index to indicate this is a target of timestamp extraction for audio. */ public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = android.hardware.tv.tuner.V1_1.Constants.DemuxTsIndex.MPT_INDEX_TIMESTAMP_TARGET_AUDIO; /** @hide */ @Retention(RetentionPolicy.SOURCE) Loading
media/jni/android_media_tv_Tuner.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -640,10 +640,12 @@ jobjectArray FilterCallback::getMmtpRecordEvent( jlong firstMbInSlice = (eventsExt.size() > i) ? static_cast<jint>(eventsExt[i].mmtpRecord().firstMbInSlice) : static_cast<jint>(Constant::INVALID_FIRST_MACROBLOCK_IN_SLICE); jlong tsIndexMask = (eventsExt.size() > i) ? static_cast<jint>(eventsExt[i].mmtpRecord().tsIndexMask) : 0; jobject obj = env->NewObject(eventClazz, eventInit, scHevcIndexMask, byteNumber, mpuSequenceNumber, pts, firstMbInSlice); mpuSequenceNumber, pts, firstMbInSlice, tsIndexMask); env->SetObjectArrayElement(arr, i, obj); } return arr; Loading