Merge "Notify the OMX component that it's going to be used in "secure" mode."

This commit is contained in:
Andreas Huber
2011-08-08 16:17:21 -07:00
committed by Android (Google) Code Review
3 changed files with 35 additions and 0 deletions

View File

@@ -73,6 +73,16 @@ struct StoreMetaDataInBuffersParams {
OMX_BOOL bStoreMetaData;
};
// A pointer to this struct is passed to OMX_SetParameter() when the extension
// index "OMX.google.android.index.enableSecureMode"
// is given.
//
struct EnableSecureModeParams {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_BOOL bEnableSecureMode;
};
// A pointer to this struct is passed to OMX_SetParameter when the extension
// index for the 'OMX.google.android.index.useAndroidNativeBuffer' extension is
// given. This call will only be performed if a prior call was made with the

View File

@@ -319,6 +319,8 @@ private:
void initOutputFormat(const sp<MetaData> &inputFormat);
status_t initNativeWindow();
status_t enableSecureMode();
void dumpPortStatus(OMX_U32 portIndex);
status_t configureCodec(const sp<MetaData> &meta);

View File

@@ -720,9 +720,32 @@ status_t OMXCodec::configureCodec(const sp<MetaData> &meta) {
}
}
if (mFlags & kUseSecureInputBuffers) {
(void)enableSecureMode();
}
return OK;
}
status_t OMXCodec::enableSecureMode() {
OMX_INDEXTYPE index;
status_t err =
mOMX->getExtensionIndex(
mNode, "OMX.google.android.index.enableSecureMode", &index);
if (err != OK) {
return err;
}
EnableSecureModeParams params;
InitOMXParams(&params);
params.bEnableSecureMode = OMX_TRUE;
return mOMX->setConfig(mNode, index, &params, sizeof(params));
}
void OMXCodec::setMinBufferSize(OMX_U32 portIndex, OMX_U32 size) {
OMX_PARAM_PORTDEFINITIONTYPE def;
InitOMXParams(&def);