summaryrefslogtreecommitdiff
path: root/media/jni/android_media_MediaCodec.cpp
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2016-03-03 15:47:09 -0800
committerJeff Tinker <jtinker@google.com>2016-03-03 15:47:09 -0800
commite872ac45f79ca2c0b538df891d983e3d5e037574 (patch)
tree382947ca854370c799bc7056c5ad034dba7c1995 /media/jni/android_media_MediaCodec.cpp
parent60b7bcc614ae818c902e1a0ed3b2381e23eba61c (diff)
Fix uninitialized crypto pattern
Apps built against an older API don't have the recently added pattern field in MediaCodec.CryptoInfo which causes the crypto pattern fields to be uninitialized. This change ensures the pattern is initialized in all cases. bug: 27477422 Change-Id: I5796bf5fbca93dba5bf9a2b74c1c6638b9e90f65
Diffstat (limited to 'media/jni/android_media_MediaCodec.cpp')
-rw-r--r--media/jni/android_media_MediaCodec.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 2004a3aef2b8..d6994b349b27 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -1302,7 +1302,10 @@ static void android_media_MediaCodec_queueSecureInputBuffer(
jobject patternObj = env->GetObjectField(cryptoInfoObj, gFields.cryptoInfoPatternID);
CryptoPlugin::Pattern pattern;
- if (patternObj != NULL) {
+ if (patternObj == NULL) {
+ pattern.mEncryptBlocks = 0;
+ pattern.mSkipBlocks = 0;
+ } else {
pattern.mEncryptBlocks = env->GetIntField(patternObj, gFields.patternEncryptBlocksID);
pattern.mSkipBlocks = env->GetIntField(patternObj, gFields.patternSkipBlocksID);
}