diff --git a/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp b/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp index 506efabe..ffd1c2a8 100644 --- a/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp +++ b/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp @@ -82,6 +82,9 @@ void WVCryptoPlugin::notifyResolution(uint32_t width, uint32_t height) { status_t WVCryptoPlugin::setMediaDrmSession(const Vector& sessionId) { CdmSessionId cdmSessionId(reinterpret_cast(sessionId.array()), sessionId.size()); + if (sessionId.size() == 0) { + return android::BAD_VALUE; + } if (!mCDM->IsOpenSession(cdmSessionId)) { return android::ERROR_DRM_SESSION_NOT_OPENED; } else { diff --git a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp index 60135fa8..72119b87 100644 --- a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp +++ b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp @@ -302,6 +302,9 @@ status_t WVDrmPlugin::provideKeyResponse( } status_t WVDrmPlugin::removeKeys(const Vector& sessionId) { + if (!sessionId.size()) { + return android::BAD_VALUE; + } CdmSessionId cdmSessionId(sessionId.begin(), sessionId.end()); CdmResponseType res = mCDM->RemoveKeys(cdmSessionId); @@ -322,6 +325,9 @@ status_t WVDrmPlugin::restoreKeys(const Vector& sessionId, status_t WVDrmPlugin::queryKeyStatus( const Vector& sessionId, KeyedVector& infoMap) const { + if (sessionId.size() == 0) { + return android::BAD_VALUE; + } CdmSessionId cdmSessionId(sessionId.begin(), sessionId.end()); CdmQueryMap cdmLicenseInfo; diff --git a/libwvdrmengine/vts/vendor_module/vts_module.cpp b/libwvdrmengine/vts/vendor_module/vts_module.cpp index 316b0cc5..e06b5d67 100644 --- a/libwvdrmengine/vts/vendor_module/vts_module.cpp +++ b/libwvdrmengine/vts/vendor_module/vts_module.cpp @@ -22,7 +22,7 @@ namespace widevine_vts { const int kHttpOk = 200; - vector WidevineVTSVendorModule_V1::getUUID() { + vector WidevineVTSVendorModule_V1::getUUID() const { uint8_t uuid[16] = { 0xED,0xEF,0x8B,0xA9,0x79,0xD6,0x4A,0xCE, 0xA3,0xC8,0x27,0xDC,0xD5,0x1D,0x21,0xED @@ -84,11 +84,11 @@ namespace widevine_vts { } vector - WidevineVTSVendorModule_V1::getContentConfigurations() { + WidevineVTSVendorModule_V1::getContentConfigurations() const { vector configurations; { - const string serverUrl = "https://proxy.uat.widevine.com/proxy"; + const string serverUrl = "http://widevine-proxy.appspot.com/proxy"; const vector initData = a2b_hex( "00000042" // blob size "70737368" // "pssh" @@ -98,14 +98,13 @@ namespace widevine_vts { "08011a0d7769646576696e655f746573" // pssh data... "74220f73747265616d696e675f636c69" "7031"); - vector keyIdVec; const vector keyId = a2b_hex("371EA35E1A985D75D198A7F41020DC23"); const vector keyValue = a2b_hex("371EA35E1A985D75D198A7F41020DC23"); const vector keys = { { .isSecure = false, .keyId = keyId, - .keyValue = keyValue + .clearContentKey = keyValue } }; diff --git a/libwvdrmengine/vts/vendor_module/vts_module.h b/libwvdrmengine/vts/vendor_module/vts_module.h index 46be8a78..63bb4716 100644 --- a/libwvdrmengine/vts/vendor_module/vts_module.h +++ b/libwvdrmengine/vts/vendor_module/vts_module.h @@ -21,7 +21,7 @@ namespace widevine_vts { WidevineVTSVendorModule_V1() {} virtual ~WidevineVTSVendorModule_V1() {} - virtual vector getUUID(); + virtual vector getUUID() const; virtual vector handleProvisioningRequest(const vector& provisioningRequest, const std::string& url); @@ -29,10 +29,11 @@ namespace widevine_vts { virtual vector handleKeyRequest(const vector& keyRequest, const std::string& serverUrl); - virtual std::vector getContentConfigurations(); + virtual std::vector + getContentConfigurations() const; // TODO: change to "widevine" when HAL service is available - virtual std::string getServiceName() {return "default";} + virtual std::string getServiceName() const {return "default";} private: WidevineVTSVendorModule_V1(const WidevineVTSVendorModule_V1&) = delete;