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

Commit f3722179 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "CCodec: bypass crypto / descrambler if input is empty" into rvc-dev am:...

Merge "CCodec: bypass crypto / descrambler if input is empty" into rvc-dev am: 1ca9e116 am: 8a442a22

Change-Id: I8a2014cf921e015c5bbab7b796cfcd6f7eb94f57
parents 52aa4f68 8a442a22
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -604,7 +604,12 @@ status_t CCodecBufferChannel::queueSecureInputBuffer(

    ssize_t result = -1;
    ssize_t codecDataOffset = 0;
    if (mCrypto != nullptr) {
    if (numSubSamples == 1
            && subSamples[0].mNumBytesOfClearData == 0
            && subSamples[0].mNumBytesOfEncryptedData == 0) {
        // We don't need to go through crypto or descrambler if the input is empty.
        result = 0;
    } else if (mCrypto != nullptr) {
        hardware::drm::V1_0::DestinationBuffer destination;
        if (secure) {
            destination.type = DrmBufferType::NATIVE_HANDLE;
@@ -620,6 +625,7 @@ status_t CCodecBufferChannel::queueSecureInputBuffer(
                key, iv, mode, pattern, source, buffer->offset(),
                subSamples, numSubSamples, destination, errorDetailMsg);
        if (result < 0) {
            ALOGI("[%s] decrypt failed: result=%zd", mName, result);
            return result;
        }
        if (destination.type == DrmBufferType::SHARED_MEMORY) {