diff --git a/app/libs/limelight-common.jar b/app/libs/limelight-common.jar index 530e78db..709e5a2d 100644 Binary files a/app/libs/limelight-common.jar and b/app/libs/limelight-common.jar differ diff --git a/app/src/main/java/com/limelight/binding/video/AndroidCpuDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/AndroidCpuDecoderRenderer.java index 1c35d8ec..62e1f78a 100644 --- a/app/src/main/java/com/limelight/binding/video/AndroidCpuDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/AndroidCpuDecoderRenderer.java @@ -231,7 +231,8 @@ public class AndroidCpuDecoderRenderer extends EnhancedDecoderRenderer { if (decodeUnit.getDataLength() <= DECODER_BUFFER_SIZE) { decoderBuffer.clear(); - for (ByteBufferDescriptor bbd : decodeUnit.getBufferList()) { + for (ByteBufferDescriptor bbd = decodeUnit.getBufferHead(); + bbd != null; bbd = bbd.nextDescriptor) { decoderBuffer.put(bbd.data, bbd.offset, bbd.length); } @@ -241,7 +242,8 @@ public class AndroidCpuDecoderRenderer extends EnhancedDecoderRenderer { data = new byte[decodeUnit.getDataLength()+AvcDecoder.getInputPaddingSize()]; int offset = 0; - for (ByteBufferDescriptor bbd : decodeUnit.getBufferList()) { + for (ByteBufferDescriptor bbd = decodeUnit.getBufferHead(); + bbd != null; bbd = bbd.nextDescriptor) { System.arraycopy(bbd.data, bbd.offset, data, offset, bbd.length); offset += bbd.length; } diff --git a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java index 7fe65e8d..5cdc51b1 100644 --- a/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java +++ b/app/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java @@ -452,7 +452,7 @@ public class MediaCodecDecoderRenderer extends EnhancedDecoderRenderer { boolean needsSpsReplay = false; if ((decodeUnitFlags & DecodeUnit.DU_FLAG_CODEC_CONFIG) != 0) { - ByteBufferDescriptor header = decodeUnit.getBufferList().get(0); + ByteBufferDescriptor header = decodeUnit.getBufferHead(); if (header.data[header.offset+4] == 0x67) { numSpsIn++; @@ -537,8 +537,8 @@ public class MediaCodecDecoderRenderer extends EnhancedDecoderRenderer { } // Copy data from our buffer list into the input buffer - for (ByteBufferDescriptor desc : decodeUnit.getBufferList()) - { + for (ByteBufferDescriptor desc = decodeUnit.getBufferHead(); + desc != null; desc = desc.nextDescriptor) { buf.put(desc.data, desc.offset, desc.length); }