Merge "MediaCodec.CryptoInfo: expose subsample encryption pattern" into pi-dev

This commit is contained in:
Robert Shih
2018-05-30 17:43:58 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 0 deletions

View File

@@ -2545,6 +2545,10 @@ final public class MediaCodec {
pattern = newPattern;
}
private void setPattern(int blocksToEncrypt, int blocksToSkip) {
pattern = new Pattern(blocksToEncrypt, blocksToSkip);
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();

View File

@@ -52,6 +52,7 @@ struct fields_t {
jfieldID context;
jmethodID cryptoInfoSetID;
jmethodID cryptoInfoSetPatternID;
};
static fields_t gFields;
@@ -654,6 +655,16 @@ static jboolean android_media_MediaExtractor_getSampleCryptoInfo(
ivObj,
mode);
int32_t encryptedByteBlock = 0, skipByteBlock = 0;
meta->findInt32(kKeyEncryptedByteBlock, &encryptedByteBlock);
meta->findInt32(kKeySkipByteBlock, &skipByteBlock);
env->CallVoidMethod(
cryptoInfoObj,
gFields.cryptoInfoSetPatternID,
encryptedByteBlock,
skipByteBlock);
return JNI_TRUE;
}
@@ -669,6 +680,9 @@ static void android_media_MediaExtractor_native_init(JNIEnv *env) {
gFields.cryptoInfoSetID =
env->GetMethodID(clazz, "set", "(I[I[I[B[BI)V");
gFields.cryptoInfoSetPatternID =
env->GetMethodID(clazz, "setPattern", "(II)V");
}
static void android_media_MediaExtractor_native_setup(