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 Original line Diff line number Diff line
@@ -301,15 +301,10 @@ status_t AwesomePlayer::setDataSource_l(
    }
    }


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


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


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


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


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


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


#include <cutils/properties.h>

namespace android {
namespace android {


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

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


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