Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d072c909 authored by Jeff Tinker's avatar Jeff Tinker
Browse files

Report key request message type for unprefixed EME

bug: 19771299
Change-Id: I02f0a4532b5ea8a7e680d71f45ac0da06879f3d6
parent eb0ee0e8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -48,12 +48,13 @@ status_t DrmPlugin::getKeyRequest(
        KeyType keyType,
        const KeyedVector<String8, String8>& optionalParameters,
        Vector<uint8_t>& request,
        String8& defaultUrl) {
        String8& defaultUrl,
        DrmPlugin::KeyRequestType *keyRequestType) {
    UNUSED(optionalParameters);
    if (keyType != kKeyType_Streaming) {
        return android::ERROR_DRM_CANNOT_HANDLE;
    }

    *keyRequestType = DrmPlugin::kKeyRequestType_Initial;
    sp<Session> session = mSessionLibrary->findSession(scope);
    defaultUrl.clear();
    return session->getKeyRequest(initData, initDataType, &request);
+2 −1
Original line number Diff line number Diff line
@@ -54,7 +54,8 @@ public:
            KeyType keyType,
            const KeyedVector<String8, String8>& optionalParameters,
            Vector<uint8_t>& request,
            String8& defaultUrl);
            String8& defaultUrl,
            DrmPlugin::KeyRequestType *keyRequestType);

    virtual status_t provideKeyResponse(
            const Vector<uint8_t>& scope,
+13 −1
Original line number Diff line number Diff line
@@ -111,7 +111,8 @@ namespace android {
                                          Vector<uint8_t> const &initData,
                                          String8 const &mimeType, KeyType keyType,
                                          KeyedVector<String8, String8> const &optionalParameters,
                                          Vector<uint8_t> &request, String8 &defaultUrl)
                                          Vector<uint8_t> &request, String8 &defaultUrl,
                                          KeyRequestType *keyRequestType)
    {
        Mutex::Autolock lock(mLock);
        ALOGD("MockDrmPlugin::getKeyRequest(sessionId=%s, initData=%s, mimeType=%s"
@@ -149,6 +150,7 @@ namespace android {
        // Properties used in mock test, set by cts test app returned from mock plugin
        //   byte[] mock-request       -> request
        //   string mock-default-url   -> defaultUrl
        //   string mock-key-request-type -> keyRequestType

        index = mByteArrayProperties.indexOfKey(String8("mock-request"));
        if (index < 0) {
@@ -165,6 +167,16 @@ namespace android {
        } else {
            defaultUrl = mStringProperties.valueAt(index);
        }

        index = mStringProperties.indexOfKey(String8("mock-keyRequestType"));
        if (index < 0) {
            ALOGD("Missing 'mock-keyRequestType' parameter for mock");
            return BAD_VALUE;
        } else {
            *keyRequestType = static_cast<KeyRequestType>(
                atoi(mStringProperties.valueAt(index).string()));
        }

        return OK;
    }

+2 −1
Original line number Diff line number Diff line
@@ -62,7 +62,8 @@ namespace android {
                               Vector<uint8_t> const &initData,
                               String8 const &mimeType, KeyType keyType,
                               KeyedVector<String8, String8> const &optionalParameters,
                               Vector<uint8_t> &request, String8 &defaultUrl);
                               Vector<uint8_t> &request, String8 &defaultUrl,
                               KeyRequestType *keyRequestType);

        status_t provideKeyResponse(Vector<uint8_t> const &sessionId,
                                    Vector<uint8_t> const &response,
+2 −1
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@ struct IDrm : public IInterface {
                      Vector<uint8_t> const &initData,
                      String8 const &mimeType, DrmPlugin::KeyType keyType,
                      KeyedVector<String8, String8> const &optionalParameters,
                      Vector<uint8_t> &request, String8 &defaultUrl) = 0;
                      Vector<uint8_t> &request, String8 &defaultUrl,
                      DrmPlugin::KeyRequestType *keyRequestType) = 0;

    virtual status_t provideKeyResponse(Vector<uint8_t> const &sessionId,
                                        Vector<uint8_t> const &response,
Loading