summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-09-28 11:32:23 -0700
committerWei Jia <wjia@google.com>2015-10-02 11:15:18 -0700
commit8dde7269a5356503d2b283234b6cb46d0c3f214e (patch)
tree06ec842433e8f501addbe9d264a46f2f21fd9161 /media/libstagefright/omx
parenta9a899d3970f41162c8e9c720bf05f3e6226a90a (diff)
downloadframeworks_av-8dde7269a5356503d2b283234b6cb46d0c3f214e.zip
frameworks_av-8dde7269a5356503d2b283234b6cb46d0c3f214e.tar.gz
frameworks_av-8dde7269a5356503d2b283234b6cb46d0c3f214e.tar.bz2
OMX: allow only secure codec to remotely call allocateBuffer.
Bug: 24310423 Change-Id: Iebcfc58b447f925ec2134898060af2ef227266a3
Diffstat (limited to 'media/libstagefright/omx')
-rw-r--r--media/libstagefright/omx/OMX.cpp5
-rw-r--r--media/libstagefright/omx/OMXNodeInstance.cpp1
2 files changed, 6 insertions, 0 deletions
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp
index cb7ab5e..7f357c9 100644
--- a/media/libstagefright/omx/OMX.cpp
+++ b/media/libstagefright/omx/OMX.cpp
@@ -194,6 +194,11 @@ void OMX::binderDied(const wp<IBinder> &the_late_who) {
instance->onObserverDied(mMaster);
}
+bool OMX::isSecure(node_id node) {
+ OMXNodeInstance *instance = findInstance(node);
+ return (instance == NULL ? false : instance->isSecure());
+}
+
bool OMX::livesLocally(node_id /* node */, pid_t pid) {
return pid == getpid();
}
diff --git a/media/libstagefright/omx/OMXNodeInstance.cpp b/media/libstagefright/omx/OMXNodeInstance.cpp
index 9f1c5d8..94a213a 100644
--- a/media/libstagefright/omx/OMXNodeInstance.cpp
+++ b/media/libstagefright/omx/OMXNodeInstance.cpp
@@ -203,6 +203,7 @@ OMXNodeInstance::OMXNodeInstance(
mDebugLevelBumpPendingBuffers[1] = 0;
mMetadataType[0] = kMetadataBufferTypeInvalid;
mMetadataType[1] = kMetadataBufferTypeInvalid;
+ mIsSecure = AString(name).endsWith(".secure");
}
OMXNodeInstance::~OMXNodeInstance() {