Merge "MPEG4Writer: fix diff between duration and timestamps" into oc-dr1-dev
diff --git a/drm/libmediadrm/DrmHal.cpp b/drm/libmediadrm/DrmHal.cpp
index e56f675..386546f 100644
--- a/drm/libmediadrm/DrmHal.cpp
+++ b/drm/libmediadrm/DrmHal.cpp
@@ -411,8 +411,11 @@
}
setListener(NULL);
- mPlugin->setListener(NULL);
+ if (mPlugin != NULL) {
+ mPlugin->setListener(NULL);
+ }
mPlugin.clear();
+ mInitCheck = NO_INIT;
return OK;
}
@@ -960,8 +963,11 @@
{
Mutex::Autolock autoLock(mLock);
setListener(NULL);
- mPlugin->setListener(NULL);
+ if (mPlugin != NULL) {
+ mPlugin->setListener(NULL);
+ }
mPlugin.clear();
+ mInitCheck = NO_INIT;
}
void DrmHal::writeByteArray(Parcel &obj, hidl_vec<uint8_t> const &vec)
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index f695717..bd71632 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -734,6 +734,8 @@
// XXX: save indication that it's crypto in some way...
mAnalyticsItem->setInt32(kCodecCrypto, 1);
}
+ } else if (mFlags & kFlagIsSecure) {
+ ALOGW("Crypto or descrambler should be given for secure codec");
}
// save msg for reset
@@ -2593,6 +2595,10 @@
if (csd->size() > codecInputData->capacity()) {
return -EINVAL;
}
+ if (codecInputData->data() == NULL) {
+ ALOGV("Input buffer %zu is not properly allocated", bufferIndex);
+ return -EINVAL;
+ }
memcpy(codecInputData->data(), csd->data(), csd->size());