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

Commit cf393faa authored by Gloria Wang's avatar Gloria Wang Committed by Android (Google) Code Review
Browse files

Merge "resolved conflicts for merge of c1c45a4d to gingerbread-plus-aosp" into...

Merge "resolved conflicts for merge of c1c45a4d to gingerbread-plus-aosp" into gingerbread-plus-aosp
parents fcea62a6 35a4f21b
Loading
Loading
Loading
Loading
+6 −23
Original line number Diff line number Diff line
@@ -301,15 +301,10 @@ status_t AwesomePlayer::setDataSource_l(
    }

    dataSource->getDrmInfo(&mDecryptHandle, &mDrmManagerClient);
    if (mDecryptHandle != NULL) {
        if (RightsStatus::RIGHTS_VALID == mDecryptHandle->status) {
            if (DecryptApiType::CONTAINER_BASED == mDecryptHandle->decryptApiType) {
                mDrmManagerClient->consumeRights(mDecryptHandle, Action::PLAY, true);
            }
        } else {
    if (mDecryptHandle != NULL
            && RightsStatus::RIGHTS_VALID != mDecryptHandle->status) {
        notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_NO_LICENSE);
    }
    }

    return setDataSource_l(extractor);
}
@@ -376,11 +371,6 @@ status_t AwesomePlayer::setDataSource_l(const sp<MediaExtractor> &extractor) {
    }

    mExtractorFlags = extractor->flags();
    if (mDecryptHandle != NULL) {
        if (DecryptApiType::ELEMENTARY_STREAM_BASED == mDecryptHandle->decryptApiType) {
            mDrmManagerClient->consumeRights(mDecryptHandle, Action::PLAY, true);
        }
    }

    return OK;
}
@@ -394,8 +384,6 @@ void AwesomePlayer::reset_l() {
    if (mDecryptHandle != NULL) {
            mDrmManagerClient->setPlaybackStatus(mDecryptHandle,
                    Playback::STOP, 0);
            mDrmManagerClient->consumeRights(mDecryptHandle,
                    Action::PLAY, false);
            mDecryptHandle = NULL;
            mDrmManagerClient = NULL;
    }
@@ -1607,15 +1595,10 @@ status_t AwesomePlayer::finishSetDataSource_l() {
    }

    dataSource->getDrmInfo(&mDecryptHandle, &mDrmManagerClient);
    if (mDecryptHandle != NULL) {
        if (RightsStatus::RIGHTS_VALID == mDecryptHandle->status) {
            if (DecryptApiType::CONTAINER_BASED == mDecryptHandle->decryptApiType) {
                mDrmManagerClient->consumeRights(mDecryptHandle, Action::PLAY, true);
            }
        } else {
    if (mDecryptHandle != NULL
            && RightsStatus::RIGHTS_VALID != mDecryptHandle->status) {
        notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_NO_LICENSE);
    }
    }

    return setDataSource_l(extractor);
}
+8 −1
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@
#include <media/stagefright/MediaErrors.h>
#include <utils/String8.h>

#include <cutils/properties.h>

namespace android {

bool DataSource::getUInt16(off_t offset, uint16_t *x) {
@@ -105,8 +107,13 @@ void DataSource::RegisterDefaultSniffers() {
    RegisterSniffer(SniffAMR);
    RegisterSniffer(SniffMPEG2TS);
    RegisterSniffer(SniffMP3);

    char value[PROPERTY_VALUE_MAX];
    if (property_get("drm.service.enabled", value, NULL)
            && (!strcmp(value, "1") || !strcasecmp(value, "true"))) {
        RegisterSniffer(SniffDRM);
    }
}

// static
sp<DataSource> DataSource::CreateFromURI(