size_t *encryptedbytes);
/**
- * delete an AMediaCodecCryptoInfo create previously with AMediaCodecCryptoInfo_new, or
+ * delete an AMediaCodecCryptoInfo created previously with AMediaCodecCryptoInfo_new, or
* obtained from AMediaExtractor
*/
int AMediaCodecCryptoInfo_delete(AMediaCodecCryptoInfo*);
typedef uint8_t AMediaUUID[16];
-bool AMediaCrypto_isCryptoSchemeSupport(const AMediaUUID uuid);
+bool AMediaCrypto_isCryptoSchemeSupported(const AMediaUUID uuid);
bool AMediaCrypto_requiresSecureDecoderComponent(const char *mime);
if (err != 0) {
ALOGE("queSecureInputBuffer: %s", errormsg.c_str());
}
- delete subSamples;
+ delete [] subSamples;
return translate_error(err);
}
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;
}
extern "C" {
-bool AMediaCrypto_isCryptoSchemeSupport(const AMediaUUID uuid) {
+bool AMediaCrypto_isCryptoSchemeSupported(const AMediaUUID uuid) {
sp<ICrypto> crypto = makeCrypto();
if (crypto == NULL) {
return false;