Adding app package name to license request.
[ Merge of http://go/wvgerrit/94323 ] Content providers wish to know the application package name that is requesting a license from the content server. The app package name that is provided to the CDM during initialization is provided to the client identification message as a key-value pair during license request generation. App packages names are keyed under 'application_name'. This feature was tested manually by scraping the content of the license request for YouTube TV. Bug: 148689078 Test: manual Change-Id: I6b65f2ab9845dbea37aaaab76ecea25c228bde5b
This commit is contained in:
@@ -425,6 +425,8 @@ struct WVDrmPlugin : public IDrmPlugin, IDrmPluginListener,
|
||||
|
||||
wvcdm::CdmSessionId mDecryptHashSessionId;
|
||||
|
||||
std::string mAppPackageName;
|
||||
|
||||
Status queryProperty(const std::string& property,
|
||||
std::string& stringValue) const;
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ static const char* const kEnable = "enable";
|
||||
static const char* const kDisable = "disable";
|
||||
static const std::string kPsshTag = "pssh";
|
||||
static const char* const kSpecialUnprovisionResponse = "unprovision";
|
||||
static const std::string kKeyAppPackageName = "application_name";
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -192,7 +193,8 @@ WVDrmPlugin::WVDrmPlugin(const sp<WvContentDecryptionModule>& cdm,
|
||||
: mCdmIdentifierBuilder(useSpoid, *this, appPackageName),
|
||||
mCDM(cdm),
|
||||
mCrypto(crypto),
|
||||
mCryptoSessions() {}
|
||||
mCryptoSessions(),
|
||||
mAppPackageName(appPackageName) {}
|
||||
|
||||
WVDrmPlugin::~WVDrmPlugin() {
|
||||
typedef map<CdmSessionId, CryptoSession>::iterator mapIterator;
|
||||
@@ -515,6 +517,10 @@ Return<void> WVDrmPlugin::getKeyRequest_1_2(
|
||||
cdmParameters[cdmKey] = cdmValue;
|
||||
}
|
||||
|
||||
// Inserting application name into parameters. This will overwrite user
|
||||
// parameters of the same key.
|
||||
cdmParameters[kKeyAppPackageName] = mAppPackageName;
|
||||
|
||||
CdmKeyRequest keyRequest;
|
||||
CdmResponseType res = mCDM->GenerateKeyRequest(
|
||||
cdmSessionId, cdmKeySetId, cdmInitDataType, processedInitData,
|
||||
|
||||
Reference in New Issue
Block a user