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

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

Merge "Add DRM errors in the DRM frameworks to MediaErrors also. For bug 4350156."

parents 42e87b4e 7340743c
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -31,14 +31,17 @@ namespace android {
 * Error code for DRM Frameowrk
 */
enum {
    DRM_ERROR_BASE = -2000,

    DRM_ERROR_UNKNOWN                       = DRM_ERROR_BASE,
    DRM_ERROR_LICENSE_EXPIRED               = DRM_ERROR_BASE - 1,
    DRM_ERROR_SESSION_NOT_OPENED            = DRM_ERROR_BASE - 2,
    DRM_ERROR_DECRYPT_UNIT_NOT_INITIALIZED  = DRM_ERROR_BASE - 3,
    DRM_ERROR_DECRYPT                       = DRM_ERROR_BASE - 4,
    DRM_ERROR_CANNOT_HANDLE                 = DRM_ERROR_BASE - 5,
    // The following constant values should be in sync with
    // media/stagefright/MediaErrors.h
    ERROR_BASE = -2000,

    DRM_ERROR_UNKNOWN                       = ERROR_BASE,
    DRM_ERROR_NO_LICENSE                    = ERROR_BASE - 1,
    DRM_ERROR_LICENSE_EXPIRED               = ERROR_BASE - 2,
    DRM_ERROR_SESSION_NOT_OPENED            = ERROR_BASE - 3,
    DRM_ERROR_DECRYPT_UNIT_NOT_INITIALIZED  = ERROR_BASE - 4,
    DRM_ERROR_DECRYPT                       = ERROR_BASE - 5,
    DRM_ERROR_CANNOT_HANDLE                 = ERROR_BASE - 6,

    DRM_NO_ERROR                            = NO_ERROR
};
+11 −1
Original line number Diff line number Diff line
@@ -41,7 +41,17 @@ enum {
    INFO_FORMAT_CHANGED    = MEDIA_ERROR_BASE - 12,
    INFO_DISCONTINUITY     = MEDIA_ERROR_BASE - 13,

    ERROR_NO_LICENSE       = MEDIA_ERROR_BASE - 14,
    // The following constant values should be in sync with
    // drm/drm_framework_common.h
    DRM_ERROR_BASE = -2000,

    ERROR_DRM_UNKNOWN                       = DRM_ERROR_BASE,
    ERROR_DRM_NO_LICENSE                    = DRM_ERROR_BASE - 1,
    ERROR_DRM_LICENSE_EXPIRED               = DRM_ERROR_BASE - 2,
    ERROR_DRM_SESSION_NOT_OPENED            = DRM_ERROR_BASE - 3,
    ERROR_DRM_DECRYPT_UNIT_NOT_INITIALIZED  = DRM_ERROR_BASE - 4,
    ERROR_DRM_DECRYPT                       = DRM_ERROR_BASE - 5,
    ERROR_DRM_CANNOT_HANDLE                 = DRM_ERROR_BASE - 6,

    // Heartbeat Error Codes
    HEARTBEAT_ERROR_BASE = -3000,
+2 −2
Original line number Diff line number Diff line
@@ -312,7 +312,7 @@ status_t AwesomePlayer::setDataSource_l(
    if (mDecryptHandle != NULL) {
        CHECK(mDrmManagerClient);
        if (RightsStatus::RIGHTS_VALID != mDecryptHandle->status) {
            notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_NO_LICENSE);
            notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_DRM_NO_LICENSE);
        }
    }

@@ -1801,7 +1801,7 @@ status_t AwesomePlayer::finishSetDataSource_l() {
    if (mDecryptHandle != NULL) {
        CHECK(mDrmManagerClient);
        if (RightsStatus::RIGHTS_VALID != mDecryptHandle->status) {
            notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_NO_LICENSE);
            notifyListener_l(MEDIA_ERROR, MEDIA_ERROR_UNKNOWN, ERROR_DRM_NO_LICENSE);
        }
    }

+2 −6
Original line number Diff line number Diff line
@@ -146,18 +146,14 @@ status_t DRMSource::read(MediaBuffer **buffer, const ReadOptions *options) {
    DrmBuffer *pDecryptedDrmBuffer = &decryptedDrmBuffer;

    if ((err = mDrmManagerClient->decrypt(mDecryptHandle, mTrackId,
            &encryptedDrmBuffer, &pDecryptedDrmBuffer)) != DRM_NO_ERROR) {
            &encryptedDrmBuffer, &pDecryptedDrmBuffer)) != NO_ERROR) {

        if (decryptedDrmBuffer.data) {
            delete [] decryptedDrmBuffer.data;
            decryptedDrmBuffer.data = NULL;
        }

        if (err == DRM_ERROR_LICENSE_EXPIRED) {
            return ERROR_NO_LICENSE;
        } else {
            return ERROR_IO;
        }
        return err;
    }
    CHECK(pDecryptedDrmBuffer == &decryptedDrmBuffer);