diff options
Diffstat (limited to 'media/ndk/NdkMediaCodec.cpp')
-rw-r--r-- | media/ndk/NdkMediaCodec.cpp | 12 |
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; } |