summaryrefslogtreecommitdiffstats
path: root/media/ndk/NdkMediaCodec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/ndk/NdkMediaCodec.cpp')
-rw-r--r--media/ndk/NdkMediaCodec.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/media/ndk/NdkMediaCodec.cpp b/media/ndk/NdkMediaCodec.cpp
index 1f62fa2..ac05920 100644
--- a/media/ndk/NdkMediaCodec.cpp
+++ b/media/ndk/NdkMediaCodec.cpp
@@ -369,7 +369,7 @@ int AMediaCodec_queueSecureInputBuffer(
if (err != 0) {
ALOGE("queSecureInputBuffer: %s", errormsg.c_str());
}
- delete subSamples;
+ delete [] subSamples;
return translate_error(err);
}
@@ -396,13 +396,11 @@ AMediaCodecCryptoInfo *AMediaCodecCryptoInfo_new(
ret->mode = mode;
// clearbytes and encryptedbytes point at the actual data, which follows
- ret->clearbytes = (size_t*) ((&ret->encryptedbytes) + sizeof(ret->encryptedbytes));
- ret->encryptedbytes = (size_t*) (ret->clearbytes + (sizeof(size_t) * numsubsamples));
+ ret->clearbytes = (size_t*) (ret + 1); // point immediately after the struct
+ ret->encryptedbytes = ret->clearbytes + numsubsamples; // point after the clear sizes
- size_t *dst = ret->clearbytes;
- memcpy(dst, clearbytes, numsubsamples * sizeof(size_t));
- dst += numsubsamples * sizeof(size_t);
- memcpy(dst, encryptedbytes, numsubsamples * sizeof(size_t));
+ memcpy(ret->clearbytes, clearbytes, numsubsamples * sizeof(size_t));
+ memcpy(ret->encryptedbytes, encryptedbytes, numsubsamples * sizeof(size_t));
return ret;
}