Loading core/api/system-current.txt +10 −1 Original line number Diff line number Diff line Loading @@ -6450,6 +6450,7 @@ package android.media.tv.tuner.dvr { method public int flush(); method public long read(long); method public long read(@NonNull byte[], long, long); method public long seek(long); method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor); method public int start(); method public int stop(); Loading Loading @@ -6585,6 +6586,7 @@ package android.media.tv.tuner.filter { public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent { method public int getDataLength(); method public int getDownloadId(); method public int getItemFragmentIndex(); method public int getItemId(); method public int getLastItemFragmentIndex(); Loading @@ -6594,11 +6596,13 @@ package android.media.tv.tuner.filter { public class DownloadSettings extends android.media.tv.tuner.filter.Settings { method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int); method public int getDownloadId(); method public boolean useDownloadId(); } public static class DownloadSettings.Builder { method @NonNull public android.media.tv.tuner.filter.DownloadSettings build(); method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int); method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean); } public class Filter implements java.lang.AutoCloseable { Loading Loading @@ -6697,12 +6701,14 @@ package android.media.tv.tuner.filter { method public long getAudioHandle(); method public long getAvDataId(); method public long getDataLength(); method public long getDts(); method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData(); method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock(); method @IntRange(from=0) public int getMpuSequenceNumber(); method public long getOffset(); method public long getPts(); method public int getStreamId(); method public boolean isDtsPresent(); method public boolean isPrivateData(); method public boolean isPtsPresent(); method public boolean isSecureMemory(); Loading Loading @@ -6812,7 +6818,8 @@ package android.media.tv.tuner.filter { } public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent { method public int getDataLength(); method @Deprecated public int getDataLength(); method public long getDataLengthLong(); method public int getSectionNumber(); method public int getTableId(); method public int getVersion(); Loading Loading @@ -7544,6 +7551,7 @@ package android.media.tv.tuner.frontend { method public int getSignalStrength(); method public int getSnr(); method public int getSpectralInversion(); method @NonNull public int[] getStreamIdList(); method public int getSymbolRate(); method @IntRange(from=0, to=65535) public int getSystemId(); method public int getTransmissionMode(); Loading Loading @@ -7590,6 +7598,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa field public static final int FRONTEND_STATUS_TYPE_STREAM_ID_LIST = 39; // 0x27 field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7 field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b media/java/android/media/tv/tuner/dvr/DvrPlayback.java +20 −8 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ public class DvrPlayback implements AutoCloseable { private native void nativeSetFileDescriptor(int fd); private native long nativeRead(long size); private native long nativeRead(byte[] bytes, long offset, long size); private native long nativeSeek(long pos); private DvrPlayback() { mUserId = Process.myUid(); Loading Loading @@ -243,7 +244,7 @@ public class DvrPlayback implements AutoCloseable { * * @param fd the file descriptor to read data. * @see #read(long) * @see #read(byte[], long, long) * @see #seek(long) */ public void setFileDescriptor(@NonNull ParcelFileDescriptor fd) { nativeSetFileDescriptor(fd.getFd()); Loading @@ -261,19 +262,30 @@ public class DvrPlayback implements AutoCloseable { } /** * Reads data from the buffer for DVR playback and copies to the given byte array. * Reads data from the buffer for DVR playback. * * @param bytes the byte array to store the data. * @param offset the index of the first byte in {@code bytes} to copy to. * @param buffer the byte array where DVR reads data from. * @param offset the index of the first byte in {@code buffer} to read. * @param size the maximum number of bytes to read. * @return the number of bytes read. */ @BytesLong public long read(@NonNull byte[] bytes, @BytesLong long offset, @BytesLong long size) { if (size + offset > bytes.length) { public long read(@NonNull byte[] buffer, @BytesLong long offset, @BytesLong long size) { if (size + offset > buffer.length) { throw new ArrayIndexOutOfBoundsException( "Array length=" + bytes.length + ", offset=" + offset + ", size=" + size); "Array length=" + buffer.length + ", offset=" + offset + ", size=" + size); } return nativeRead(bytes, offset, size); return nativeRead(buffer, offset, size); } /** * Sets the file pointer offset of the file descriptor. * * @param pos the offset position, measured in bytes from the beginning of the file. * @return the new offset position. */ @BytesLong public long seek(@BytesLong long pos) { return nativeSeek(pos); } } media/java/android/media/tv/tuner/dvr/DvrRecorder.java +6 −7 Original line number Diff line number Diff line Loading @@ -216,7 +216,6 @@ public class DvrRecorder implements AutoCloseable { * * @param fd the file descriptor to write data. * @see #write(long) * @see #write(byte[], long, long) */ public void setFileDescriptor(@NonNull ParcelFileDescriptor fd) { nativeSetFileDescriptor(fd.getFd()); Loading @@ -236,17 +235,17 @@ public class DvrRecorder implements AutoCloseable { /** * Writes recording data to buffer. * * @param bytes the byte array stores the data to be written to DVR. * @param offset the index of the first byte in {@code bytes} to be written to DVR. * @param buffer the byte array stores the data from DVR. * @param offset the index of the first byte in {@code buffer} to write the data from DVR. * @param size the maximum number of bytes to write. * @return the number of bytes written. */ @BytesLong public long write(@NonNull byte[] bytes, @BytesLong long offset, @BytesLong long size) { if (size + offset > bytes.length) { public long write(@NonNull byte[] buffer, @BytesLong long offset, @BytesLong long size) { if (size + offset > buffer.length) { throw new ArrayIndexOutOfBoundsException( "Array length=" + bytes.length + ", offset=" + offset + ", size=" + size); "Array length=" + buffer.length + ", offset=" + offset + ", size=" + size); } return nativeWrite(bytes, offset, size); return nativeWrite(buffer, offset, size); } } media/java/android/media/tv/tuner/filter/DownloadEvent.java +12 −2 Original line number Diff line number Diff line Loading @@ -27,15 +27,17 @@ import android.annotation.SystemApi; @SystemApi public class DownloadEvent extends FilterEvent { private final int mItemId; private final int mDownloadId; private final int mMpuSequenceNumber; private final int mItemFragmentIndex; private final int mLastItemFragmentIndex; private final int mDataLength; // This constructor is used by JNI code only private DownloadEvent(int itemId, int mpuSequenceNumber, int itemFragmentIndex, private DownloadEvent(int itemId, int downloadId, int mpuSequenceNumber, int itemFragmentIndex, int lastItemFragmentIndex, int dataLength) { mItemId = itemId; mDownloadId = downloadId; mMpuSequenceNumber = mpuSequenceNumber; mItemFragmentIndex = itemFragmentIndex; mLastItemFragmentIndex = lastItemFragmentIndex; Loading @@ -49,6 +51,15 @@ public class DownloadEvent extends FilterEvent { return mItemId; } /** * Gets download ID. * * <p>This query is only supported in Tuner 2.0 or higher version. Unsupported version will * return {@code -1}. * Use {@link TunerVersionChecker#getTunerVersion()} to get the version information. */ public int getDownloadId() { return mDownloadId; } /** * Gets MPU sequence number of filtered data. */ Loading Loading @@ -80,4 +91,3 @@ public class DownloadEvent extends FilterEvent { return mDataLength; } } media/java/android/media/tv/tuner/filter/DownloadSettings.java +33 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.media.tv.tuner.filter; import android.annotation.NonNull; import android.annotation.SystemApi; import android.media.tv.tuner.TunerUtils; import android.media.tv.tuner.TunerVersionChecker; /** * Filter Settings for a Download. Loading @@ -27,10 +28,12 @@ import android.media.tv.tuner.TunerUtils; */ @SystemApi public class DownloadSettings extends Settings { private final boolean mUseDownloadId; private final int mDownloadId; private DownloadSettings(int mainType, int downloadId) { private DownloadSettings(int mainType, boolean useDownloadId, int downloadId) { super(TunerUtils.getFilterSubtype(mainType, Filter.SUBTYPE_DOWNLOAD)); mUseDownloadId = useDownloadId; mDownloadId = downloadId; } Loading @@ -41,6 +44,15 @@ public class DownloadSettings extends Settings { return mDownloadId; } /** * Gets whether download ID is used. * * <p>This query is only supported in Tuner 2.0 or higher version. Unsupported version will * return {@code false}. * Use {@link TunerVersionChecker#getTunerVersion()} to get the version information. */ public boolean useDownloadId() { return mUseDownloadId; } /** * Creates a builder for {@link DownloadSettings}. * Loading @@ -56,12 +68,31 @@ public class DownloadSettings extends Settings { */ public static class Builder { private final int mMainType; private boolean mUseDownloadId = false; private int mDownloadId; private Builder(int mainType) { mMainType = mainType; } /** * Sets whether download ID is used or not. * * <p>This configuration is only supported in Tuner 2.0 or higher version. Unsupported * version will cause no-op. Use {@link TunerVersionChecker#getTunerVersion()} to get the * version information. * * <p>Default value is {@code false}. */ @NonNull public Builder setUseDownloadId(boolean useDownloadId) { if (TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_2_0, "setUseDownloadId")) { mUseDownloadId = useDownloadId; } return this; } /** * Sets download ID. */ Loading @@ -76,7 +107,7 @@ public class DownloadSettings extends Settings { */ @NonNull public DownloadSettings build() { return new DownloadSettings(mMainType, mDownloadId); return new DownloadSettings(mMainType, mUseDownloadId, mDownloadId); } } } Loading
core/api/system-current.txt +10 −1 Original line number Diff line number Diff line Loading @@ -6450,6 +6450,7 @@ package android.media.tv.tuner.dvr { method public int flush(); method public long read(long); method public long read(@NonNull byte[], long, long); method public long seek(long); method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor); method public int start(); method public int stop(); Loading Loading @@ -6585,6 +6586,7 @@ package android.media.tv.tuner.filter { public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent { method public int getDataLength(); method public int getDownloadId(); method public int getItemFragmentIndex(); method public int getItemId(); method public int getLastItemFragmentIndex(); Loading @@ -6594,11 +6596,13 @@ package android.media.tv.tuner.filter { public class DownloadSettings extends android.media.tv.tuner.filter.Settings { method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int); method public int getDownloadId(); method public boolean useDownloadId(); } public static class DownloadSettings.Builder { method @NonNull public android.media.tv.tuner.filter.DownloadSettings build(); method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int); method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean); } public class Filter implements java.lang.AutoCloseable { Loading Loading @@ -6697,12 +6701,14 @@ package android.media.tv.tuner.filter { method public long getAudioHandle(); method public long getAvDataId(); method public long getDataLength(); method public long getDts(); method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData(); method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock(); method @IntRange(from=0) public int getMpuSequenceNumber(); method public long getOffset(); method public long getPts(); method public int getStreamId(); method public boolean isDtsPresent(); method public boolean isPrivateData(); method public boolean isPtsPresent(); method public boolean isSecureMemory(); Loading Loading @@ -6812,7 +6818,8 @@ package android.media.tv.tuner.filter { } public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent { method public int getDataLength(); method @Deprecated public int getDataLength(); method public long getDataLengthLong(); method public int getSectionNumber(); method public int getTableId(); method public int getVersion(); Loading Loading @@ -7544,6 +7551,7 @@ package android.media.tv.tuner.frontend { method public int getSignalStrength(); method public int getSnr(); method public int getSpectralInversion(); method @NonNull public int[] getStreamIdList(); method public int getSymbolRate(); method @IntRange(from=0, to=65535) public int getSystemId(); method public int getTransmissionMode(); Loading Loading @@ -7590,6 +7598,7 @@ package android.media.tv.tuner.frontend { field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6 field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1 field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa field public static final int FRONTEND_STATUS_TYPE_STREAM_ID_LIST = 39; // 0x27 field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7 field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
media/java/android/media/tv/tuner/dvr/DvrPlayback.java +20 −8 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ public class DvrPlayback implements AutoCloseable { private native void nativeSetFileDescriptor(int fd); private native long nativeRead(long size); private native long nativeRead(byte[] bytes, long offset, long size); private native long nativeSeek(long pos); private DvrPlayback() { mUserId = Process.myUid(); Loading Loading @@ -243,7 +244,7 @@ public class DvrPlayback implements AutoCloseable { * * @param fd the file descriptor to read data. * @see #read(long) * @see #read(byte[], long, long) * @see #seek(long) */ public void setFileDescriptor(@NonNull ParcelFileDescriptor fd) { nativeSetFileDescriptor(fd.getFd()); Loading @@ -261,19 +262,30 @@ public class DvrPlayback implements AutoCloseable { } /** * Reads data from the buffer for DVR playback and copies to the given byte array. * Reads data from the buffer for DVR playback. * * @param bytes the byte array to store the data. * @param offset the index of the first byte in {@code bytes} to copy to. * @param buffer the byte array where DVR reads data from. * @param offset the index of the first byte in {@code buffer} to read. * @param size the maximum number of bytes to read. * @return the number of bytes read. */ @BytesLong public long read(@NonNull byte[] bytes, @BytesLong long offset, @BytesLong long size) { if (size + offset > bytes.length) { public long read(@NonNull byte[] buffer, @BytesLong long offset, @BytesLong long size) { if (size + offset > buffer.length) { throw new ArrayIndexOutOfBoundsException( "Array length=" + bytes.length + ", offset=" + offset + ", size=" + size); "Array length=" + buffer.length + ", offset=" + offset + ", size=" + size); } return nativeRead(bytes, offset, size); return nativeRead(buffer, offset, size); } /** * Sets the file pointer offset of the file descriptor. * * @param pos the offset position, measured in bytes from the beginning of the file. * @return the new offset position. */ @BytesLong public long seek(@BytesLong long pos) { return nativeSeek(pos); } }
media/java/android/media/tv/tuner/dvr/DvrRecorder.java +6 −7 Original line number Diff line number Diff line Loading @@ -216,7 +216,6 @@ public class DvrRecorder implements AutoCloseable { * * @param fd the file descriptor to write data. * @see #write(long) * @see #write(byte[], long, long) */ public void setFileDescriptor(@NonNull ParcelFileDescriptor fd) { nativeSetFileDescriptor(fd.getFd()); Loading @@ -236,17 +235,17 @@ public class DvrRecorder implements AutoCloseable { /** * Writes recording data to buffer. * * @param bytes the byte array stores the data to be written to DVR. * @param offset the index of the first byte in {@code bytes} to be written to DVR. * @param buffer the byte array stores the data from DVR. * @param offset the index of the first byte in {@code buffer} to write the data from DVR. * @param size the maximum number of bytes to write. * @return the number of bytes written. */ @BytesLong public long write(@NonNull byte[] bytes, @BytesLong long offset, @BytesLong long size) { if (size + offset > bytes.length) { public long write(@NonNull byte[] buffer, @BytesLong long offset, @BytesLong long size) { if (size + offset > buffer.length) { throw new ArrayIndexOutOfBoundsException( "Array length=" + bytes.length + ", offset=" + offset + ", size=" + size); "Array length=" + buffer.length + ", offset=" + offset + ", size=" + size); } return nativeWrite(bytes, offset, size); return nativeWrite(buffer, offset, size); } }
media/java/android/media/tv/tuner/filter/DownloadEvent.java +12 −2 Original line number Diff line number Diff line Loading @@ -27,15 +27,17 @@ import android.annotation.SystemApi; @SystemApi public class DownloadEvent extends FilterEvent { private final int mItemId; private final int mDownloadId; private final int mMpuSequenceNumber; private final int mItemFragmentIndex; private final int mLastItemFragmentIndex; private final int mDataLength; // This constructor is used by JNI code only private DownloadEvent(int itemId, int mpuSequenceNumber, int itemFragmentIndex, private DownloadEvent(int itemId, int downloadId, int mpuSequenceNumber, int itemFragmentIndex, int lastItemFragmentIndex, int dataLength) { mItemId = itemId; mDownloadId = downloadId; mMpuSequenceNumber = mpuSequenceNumber; mItemFragmentIndex = itemFragmentIndex; mLastItemFragmentIndex = lastItemFragmentIndex; Loading @@ -49,6 +51,15 @@ public class DownloadEvent extends FilterEvent { return mItemId; } /** * Gets download ID. * * <p>This query is only supported in Tuner 2.0 or higher version. Unsupported version will * return {@code -1}. * Use {@link TunerVersionChecker#getTunerVersion()} to get the version information. */ public int getDownloadId() { return mDownloadId; } /** * Gets MPU sequence number of filtered data. */ Loading Loading @@ -80,4 +91,3 @@ public class DownloadEvent extends FilterEvent { return mDataLength; } }
media/java/android/media/tv/tuner/filter/DownloadSettings.java +33 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.media.tv.tuner.filter; import android.annotation.NonNull; import android.annotation.SystemApi; import android.media.tv.tuner.TunerUtils; import android.media.tv.tuner.TunerVersionChecker; /** * Filter Settings for a Download. Loading @@ -27,10 +28,12 @@ import android.media.tv.tuner.TunerUtils; */ @SystemApi public class DownloadSettings extends Settings { private final boolean mUseDownloadId; private final int mDownloadId; private DownloadSettings(int mainType, int downloadId) { private DownloadSettings(int mainType, boolean useDownloadId, int downloadId) { super(TunerUtils.getFilterSubtype(mainType, Filter.SUBTYPE_DOWNLOAD)); mUseDownloadId = useDownloadId; mDownloadId = downloadId; } Loading @@ -41,6 +44,15 @@ public class DownloadSettings extends Settings { return mDownloadId; } /** * Gets whether download ID is used. * * <p>This query is only supported in Tuner 2.0 or higher version. Unsupported version will * return {@code false}. * Use {@link TunerVersionChecker#getTunerVersion()} to get the version information. */ public boolean useDownloadId() { return mUseDownloadId; } /** * Creates a builder for {@link DownloadSettings}. * Loading @@ -56,12 +68,31 @@ public class DownloadSettings extends Settings { */ public static class Builder { private final int mMainType; private boolean mUseDownloadId = false; private int mDownloadId; private Builder(int mainType) { mMainType = mainType; } /** * Sets whether download ID is used or not. * * <p>This configuration is only supported in Tuner 2.0 or higher version. Unsupported * version will cause no-op. Use {@link TunerVersionChecker#getTunerVersion()} to get the * version information. * * <p>Default value is {@code false}. */ @NonNull public Builder setUseDownloadId(boolean useDownloadId) { if (TunerVersionChecker.checkHigherOrEqualVersionTo( TunerVersionChecker.TUNER_VERSION_2_0, "setUseDownloadId")) { mUseDownloadId = useDownloadId; } return this; } /** * Sets download ID. */ Loading @@ -76,7 +107,7 @@ public class DownloadSettings extends Settings { */ @NonNull public DownloadSettings build() { return new DownloadSettings(mMainType, mDownloadId); return new DownloadSettings(mMainType, mUseDownloadId, mDownloadId); } } }