Loading api/current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -15511,6 +15511,7 @@ package android.media { field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1 field public static final deprecated int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1 field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1 field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1 field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0 field public static final deprecated int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd Loading Loading @@ -15562,6 +15563,7 @@ package android.media { public static final class MediaCodec.CryptoInfo { ctor public MediaCodec.CryptoInfo(); method public void set(int, int[], int[], byte[], byte[], int); method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern); field public byte[] iv; field public byte[] key; field public int mode; Loading @@ -15570,6 +15572,13 @@ package android.media { field public int numSubSamples; } public static final class MediaCodec.CryptoInfo.Pattern { ctor public MediaCodec.CryptoInfo.Pattern(int, int); method public int getEncryptBlocks(); method public int getSkipBlocks(); method public void set(int, int); } public static abstract interface MediaCodec.OnFrameRenderedListener { method public abstract void onFrameRendered(android.media.MediaCodec, long, long); } api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -16796,6 +16796,7 @@ package android.media { field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1 field public static final deprecated int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1 field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1 field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1 field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0 field public static final deprecated int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd Loading Loading @@ -16847,6 +16848,7 @@ package android.media { public static final class MediaCodec.CryptoInfo { ctor public MediaCodec.CryptoInfo(); method public void set(int, int[], int[], byte[], byte[], int); method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern); field public byte[] iv; field public byte[] key; field public int mode; Loading @@ -16855,6 +16857,13 @@ package android.media { field public int numSubSamples; } public static final class MediaCodec.CryptoInfo.Pattern { ctor public MediaCodec.CryptoInfo.Pattern(int, int); method public int getEncryptBlocks(); method public int getSkipBlocks(); method public void set(int, int); } public static abstract interface MediaCodec.OnFrameRenderedListener { method public abstract void onFrameRendered(android.media.MediaCodec, long, long); } media/java/android/media/MediaCodec.java +83 −21 Original line number Diff line number Diff line Loading @@ -2179,6 +2179,7 @@ final public class MediaCodec { // in media/hardware/CryptoAPI.h ! public static final int CRYPTO_MODE_UNENCRYPTED = 0; public static final int CRYPTO_MODE_AES_CTR = 1; public static final int CRYPTO_MODE_AES_CBC = 2; /** * Metadata describing the structure of a (at least partially) encrypted Loading @@ -2186,27 +2187,14 @@ final public class MediaCodec { * A buffer's data is considered to be partitioned into "subSamples", * each subSample starts with a (potentially empty) run of plain, * unencrypted bytes followed by a (also potentially empty) run of * encrypted bytes. * numBytesOfClearData can be null to indicate that all data is encrypted. * This information encapsulates per-sample metadata as outlined in * ISO/IEC FDIS 23001-7:2011 "Common encryption in ISO base media file format files". * encrypted bytes. If pattern encryption applies, each of the latter runs * is encrypted only partly, according to a repeating pattern of "encrypt" * and "skip" blocks. numBytesOfClearData can be null to indicate that all * data is encrypted. This information encapsulates per-sample metadata as * outlined in ISO/IEC FDIS 23001-7:2011 "Common encryption in ISO base * media file format files". */ public final static class CryptoInfo { public void set( int newNumSubSamples, @NonNull int[] newNumBytesOfClearData, @NonNull int[] newNumBytesOfEncryptedData, @NonNull byte[] newKey, @NonNull byte[] newIV, int newMode) { numSubSamples = newNumSubSamples; numBytesOfClearData = newNumBytesOfClearData; numBytesOfEncryptedData = newNumBytesOfEncryptedData; key = newKey; iv = newIV; mode = newMode; } /** * The number of subSamples that make up the buffer's contents. */ Loading @@ -2220,7 +2208,7 @@ final public class MediaCodec { */ public int[] numBytesOfEncryptedData; /** * A 16-byte opaque key * A 16-byte key id */ public byte[] key; /** Loading @@ -2229,10 +2217,84 @@ final public class MediaCodec { public byte[] iv; /** * The type of encryption that has been applied, * see {@link #CRYPTO_MODE_UNENCRYPTED} and {@link #CRYPTO_MODE_AES_CTR}. * see {@link #CRYPTO_MODE_UNENCRYPTED}, {@link #CRYPTO_MODE_AES_CTR} * and {@link #CRYPTO_MODE_AES_CBC} */ public int mode; /** * Metadata describing encryption pattern for the protected bytes in a subsample. */ public final static class Pattern { /** * Number of blocks to be encrypted in the pattern. If zero, pattern * encryption is inoperative. */ private int mEncryptBlocks; /** * Number of blocks to be skipped (left clear) in the pattern. If zero, * pattern encryption is inoperative. */ private int mSkipBlocks; /** * Construct a sample encryption pattern given the number of blocks to * encrypt and skip in the pattern. */ public Pattern(int blocksToEncrypt, int blocksToSkip) { set(blocksToEncrypt, blocksToSkip); } /** * Set the number of blocks to encrypt and skip in a sample encryption * pattern. */ public void set(int blocksToEncrypt, int blocksToSkip) { mEncryptBlocks = blocksToEncrypt; mSkipBlocks = blocksToSkip; } /** * Return the number of blocks to skip in a sample encryption pattern. */ public int getSkipBlocks() { return mSkipBlocks; } /** * Return the number of blocks to encrypt in a sample encryption pattern. */ public int getEncryptBlocks() { return mEncryptBlocks; } }; /** * The pattern applicable to the protected data in each subsample. */ private Pattern pattern; public void set( int newNumSubSamples, @NonNull int[] newNumBytesOfClearData, @NonNull int[] newNumBytesOfEncryptedData, @NonNull byte[] newKey, @NonNull byte[] newIV, int newMode) { numSubSamples = newNumSubSamples; numBytesOfClearData = newNumBytesOfClearData; numBytesOfEncryptedData = newNumBytesOfEncryptedData; key = newKey; iv = newIV; mode = newMode; pattern = new Pattern(0, 0); } public void setPattern(Pattern newPattern) { pattern = newPattern; } @Override public String toString() { StringBuilder builder = new StringBuilder(); Loading Loading
api/current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -15511,6 +15511,7 @@ package android.media { field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1 field public static final deprecated int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1 field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1 field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1 field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0 field public static final deprecated int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd Loading Loading @@ -15562,6 +15563,7 @@ package android.media { public static final class MediaCodec.CryptoInfo { ctor public MediaCodec.CryptoInfo(); method public void set(int, int[], int[], byte[], byte[], int); method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern); field public byte[] iv; field public byte[] key; field public int mode; Loading @@ -15570,6 +15572,13 @@ package android.media { field public int numSubSamples; } public static final class MediaCodec.CryptoInfo.Pattern { ctor public MediaCodec.CryptoInfo.Pattern(int, int); method public int getEncryptBlocks(); method public int getSkipBlocks(); method public void set(int, int); } public static abstract interface MediaCodec.OnFrameRenderedListener { method public abstract void onFrameRendered(android.media.MediaCodec, long, long); }
api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -16796,6 +16796,7 @@ package android.media { field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1 field public static final deprecated int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1 field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1 field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2 field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1 field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0 field public static final deprecated int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd Loading Loading @@ -16847,6 +16848,7 @@ package android.media { public static final class MediaCodec.CryptoInfo { ctor public MediaCodec.CryptoInfo(); method public void set(int, int[], int[], byte[], byte[], int); method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern); field public byte[] iv; field public byte[] key; field public int mode; Loading @@ -16855,6 +16857,13 @@ package android.media { field public int numSubSamples; } public static final class MediaCodec.CryptoInfo.Pattern { ctor public MediaCodec.CryptoInfo.Pattern(int, int); method public int getEncryptBlocks(); method public int getSkipBlocks(); method public void set(int, int); } public static abstract interface MediaCodec.OnFrameRenderedListener { method public abstract void onFrameRendered(android.media.MediaCodec, long, long); }
media/java/android/media/MediaCodec.java +83 −21 Original line number Diff line number Diff line Loading @@ -2179,6 +2179,7 @@ final public class MediaCodec { // in media/hardware/CryptoAPI.h ! public static final int CRYPTO_MODE_UNENCRYPTED = 0; public static final int CRYPTO_MODE_AES_CTR = 1; public static final int CRYPTO_MODE_AES_CBC = 2; /** * Metadata describing the structure of a (at least partially) encrypted Loading @@ -2186,27 +2187,14 @@ final public class MediaCodec { * A buffer's data is considered to be partitioned into "subSamples", * each subSample starts with a (potentially empty) run of plain, * unencrypted bytes followed by a (also potentially empty) run of * encrypted bytes. * numBytesOfClearData can be null to indicate that all data is encrypted. * This information encapsulates per-sample metadata as outlined in * ISO/IEC FDIS 23001-7:2011 "Common encryption in ISO base media file format files". * encrypted bytes. If pattern encryption applies, each of the latter runs * is encrypted only partly, according to a repeating pattern of "encrypt" * and "skip" blocks. numBytesOfClearData can be null to indicate that all * data is encrypted. This information encapsulates per-sample metadata as * outlined in ISO/IEC FDIS 23001-7:2011 "Common encryption in ISO base * media file format files". */ public final static class CryptoInfo { public void set( int newNumSubSamples, @NonNull int[] newNumBytesOfClearData, @NonNull int[] newNumBytesOfEncryptedData, @NonNull byte[] newKey, @NonNull byte[] newIV, int newMode) { numSubSamples = newNumSubSamples; numBytesOfClearData = newNumBytesOfClearData; numBytesOfEncryptedData = newNumBytesOfEncryptedData; key = newKey; iv = newIV; mode = newMode; } /** * The number of subSamples that make up the buffer's contents. */ Loading @@ -2220,7 +2208,7 @@ final public class MediaCodec { */ public int[] numBytesOfEncryptedData; /** * A 16-byte opaque key * A 16-byte key id */ public byte[] key; /** Loading @@ -2229,10 +2217,84 @@ final public class MediaCodec { public byte[] iv; /** * The type of encryption that has been applied, * see {@link #CRYPTO_MODE_UNENCRYPTED} and {@link #CRYPTO_MODE_AES_CTR}. * see {@link #CRYPTO_MODE_UNENCRYPTED}, {@link #CRYPTO_MODE_AES_CTR} * and {@link #CRYPTO_MODE_AES_CBC} */ public int mode; /** * Metadata describing encryption pattern for the protected bytes in a subsample. */ public final static class Pattern { /** * Number of blocks to be encrypted in the pattern. If zero, pattern * encryption is inoperative. */ private int mEncryptBlocks; /** * Number of blocks to be skipped (left clear) in the pattern. If zero, * pattern encryption is inoperative. */ private int mSkipBlocks; /** * Construct a sample encryption pattern given the number of blocks to * encrypt and skip in the pattern. */ public Pattern(int blocksToEncrypt, int blocksToSkip) { set(blocksToEncrypt, blocksToSkip); } /** * Set the number of blocks to encrypt and skip in a sample encryption * pattern. */ public void set(int blocksToEncrypt, int blocksToSkip) { mEncryptBlocks = blocksToEncrypt; mSkipBlocks = blocksToSkip; } /** * Return the number of blocks to skip in a sample encryption pattern. */ public int getSkipBlocks() { return mSkipBlocks; } /** * Return the number of blocks to encrypt in a sample encryption pattern. */ public int getEncryptBlocks() { return mEncryptBlocks; } }; /** * The pattern applicable to the protected data in each subsample. */ private Pattern pattern; public void set( int newNumSubSamples, @NonNull int[] newNumBytesOfClearData, @NonNull int[] newNumBytesOfEncryptedData, @NonNull byte[] newKey, @NonNull byte[] newIV, int newMode) { numSubSamples = newNumSubSamples; numBytesOfClearData = newNumBytesOfClearData; numBytesOfEncryptedData = newNumBytesOfEncryptedData; key = newKey; iv = newIV; mode = newMode; pattern = new Pattern(0, 0); } public void setPattern(Pattern newPattern) { pattern = newPattern; } @Override public String toString() { StringBuilder builder = new StringBuilder(); Loading