MediaCodec: skip index validation at buffer validations
The index validation will happen at the MediaCodec native layer. Bug: 244121189 Test: atest CtsMediaCodecTestCases Test: atest CtsMediaDecoderTestCases Test: atest CtsMediaEncoderTestCases Test: atest CtsMediaV2TestCases Merged-In: I1af0cd61ae19e86a115b5e347625b8476440e848 Change-Id: I1af0cd61ae19e86a115b5e347625b8476440e848
This commit is contained in:
@@ -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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
mValidOutputIndices.set(index);
|
||||
} else if (index >= 0 && index < buffers.length) {
|
||||
ByteBuffer buffer = buffers[index];
|
||||
if (buffer != null) {
|
||||
|
||||
Reference in New Issue
Block a user