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

Commit ba379780 authored by Wonsik Kim's avatar Wonsik Kim Committed by Android (Google) Code Review
Browse files

Merge "MediaCodec: skip index validation at buffer validations" into tm-qpr-dev

parents a7e84548 b5547085
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -3835,11 +3835,10 @@ final public class MediaCodec {
    private void invalidateByteBufferLocked(
            @Nullable ByteBuffer[] buffers, int index, boolean input) {
        if (buffers == null) {
            if (index < 0) {
                throw new IllegalStateException("index is negative (" + index + ")");
            }
            if (index >= 0) {
                BitSet indices = input ? mValidInputIndices : mValidOutputIndices;
                indices.clear(index);
            }
        } else if (index >= 0 && index < buffers.length) {
            ByteBuffer buffer = buffers[index];
            if (buffer != null) {
@@ -3851,10 +3850,9 @@ final public class MediaCodec {
    private void validateInputByteBufferLocked(
            @Nullable ByteBuffer[] buffers, int index) {
        if (buffers == null) {
            if (index < 0) {
                throw new IllegalStateException("index is negative (" + index + ")");
            }
            if (index >= 0) {
                mValidInputIndices.set(index);
            }
        } else if (index >= 0 && index < buffers.length) {
            ByteBuffer buffer = buffers[index];
            if (buffer != null) {
@@ -3868,11 +3866,10 @@ final public class MediaCodec {
            @Nullable ByteBuffer[] buffers, int index, boolean input) {
        synchronized(mBufferLock) {
            if (buffers == null) {
                if (index < 0) {
                    throw new IllegalStateException("index is negative (" + index + ")");
                }
                if (index >= 0) {
                    BitSet indices = input ? mValidInputIndices : mValidOutputIndices;
                    indices.set(index);
                }
            } else if (index >= 0 && index < buffers.length) {
                ByteBuffer buffer = buffers[index];
                if (buffer != null) {
@@ -3885,10 +3882,9 @@ final public class MediaCodec {
    private void validateOutputByteBufferLocked(
            @Nullable ByteBuffer[] buffers, int index, @NonNull BufferInfo info) {
        if (buffers == null) {
            if (index < 0) {
                throw new IllegalStateException("index is negative (" + index + ")");
            }
            if (index >= 0) {
                mValidOutputIndices.set(index);
            }
        } else if (index >= 0 && index < buffers.length) {
            ByteBuffer buffer = buffers[index];
            if (buffer != null) {