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

Commit 5249a558 authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Clean up DRM handling

Avoid calling SniffDrm twice, and remove [gs]etDrmFlag methods
since they serve no purpose anymore.

Test: ran forward lock CTS test, and played protected content in Play Movies

Change-Id: I8313d2dae459151bf965a76ac1125d36ce8176e6
parent 2b3867fb
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -54,8 +54,6 @@ public:
    virtual uint32_t flags() const = 0;

    // for DRM
    virtual void setDrmFlag(bool flag) = 0;
    virtual bool getDrmFlag() = 0;
    virtual char* getDrmTrackInfo(size_t trackID, int *len)  = 0;
    virtual void setUID(uid_t uid)  = 0;

+0 −6
Original line number Diff line number Diff line
@@ -59,12 +59,6 @@ public:
    virtual uint32_t flags() const;

    // for DRM
    void setDrmFlag(bool flag) {
        mIsDrm = flag;
    };
    bool getDrmFlag() {
        return mIsDrm;
    }
    virtual char* getDrmTrackInfo(size_t trackID, int *len) {
        return NULL;
    }
+0 −9
Original line number Diff line number Diff line
@@ -34,8 +34,6 @@ enum {
    GETTRACKMETADATA,
    GETMETADATA,
    FLAGS,
    SETDRMFLAG,
    GETDRMFLAG,
    GETDRMTRACKINFO,
    SETUID,
    NAME
@@ -101,13 +99,6 @@ public:
        return 0;
    }

    virtual void setDrmFlag(bool flag __unused) {
        ALOGV("setDrmFlag NOT IMPLEMENTED");
    }
    virtual bool getDrmFlag() {
        ALOGV("getDrmFlag NOT IMPLEMENTED");
       return false;
    }
    virtual char* getDrmTrackInfo(size_t trackID __unused, int *len __unused) {
        ALOGV("getDrmTrackInfo NOT IMPLEMENTED");
        return NULL;
+0 −16
Original line number Diff line number Diff line
@@ -145,10 +145,6 @@ status_t NuPlayer::GenericSource::initFromDataSource() {
        return UNKNOWN_ERROR;
    }

    if (extractor->getDrmFlag()) {
        checkDrmStatus(mDataSource);
    }

    mFileMeta = extractor->getMetaData();
    if (mFileMeta != NULL) {
        int64_t duration;
@@ -262,18 +258,6 @@ status_t NuPlayer::GenericSource::startSources() {
    return OK;
}

void NuPlayer::GenericSource::checkDrmStatus(const sp<DataSource>& dataSource) {
    dataSource->getDrmInfo(mDecryptHandle, &mDrmManagerClient);
    if (mDecryptHandle != NULL) {
        CHECK(mDrmManagerClient);
        if (RightsStatus::RIGHTS_VALID != mDecryptHandle->status) {
            sp<AMessage> msg = dupNotify();
            msg->setInt32("what", kWhatDrmNoLicense);
            msg->post();
        }
    }
}

int64_t NuPlayer::GenericSource::getLastReadPosition() {
    if (mAudioTrack.mSource != NULL) {
        return mAudioTimeUs;
+0 −1
Original line number Diff line number Diff line
@@ -234,7 +234,6 @@ private:
    void resetDataSource();

    status_t initFromDataSource();
    void checkDrmStatus(const sp<DataSource>& dataSource);
    int64_t getLastReadPosition();
    void setDrmPlaybackStatusIfNeeded(int playbackStatus, int64_t position);

Loading