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

Commit 35a4f21b authored by Gloria Wang's avatar Gloria Wang
Browse files

resolved conflicts for merge of c1c45a4d to gingerbread-plus-aosp

Change-Id: I5411eaa0426cf208c6db3570f707d1b6b4baf455
parents a090d64a c1c45a4d
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(