From aa4e07ea2fb89ca47d483aeb5890c2e833c9ad90 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 12 Nov 2013 02:19:58 -0500 Subject: [PATCH] Free audio packets back to the packet pool after decoding. --- src/com/limelight/nvstream/NvAudioStream.java | 3 ++- src/com/limelight/nvstream/av/AvRtpPacket.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/com/limelight/nvstream/NvAudioStream.java b/src/com/limelight/nvstream/NvAudioStream.java index cfe5e2c0..f7cfb321 100644 --- a/src/com/limelight/nvstream/NvAudioStream.java +++ b/src/com/limelight/nvstream/NvAudioStream.java @@ -170,8 +170,9 @@ public class NvAudioStream { return; } - // !!! We no longer own the data buffer at this point !!! depacketizer.decodeInputData(packet); + + pool.free(packet.getBackingBuffer()); } } }; diff --git a/src/com/limelight/nvstream/av/AvRtpPacket.java b/src/com/limelight/nvstream/av/AvRtpPacket.java index ebd67c20..8e4250e7 100644 --- a/src/com/limelight/nvstream/av/AvRtpPacket.java +++ b/src/com/limelight/nvstream/av/AvRtpPacket.java @@ -34,6 +34,11 @@ public class AvRtpPacket { return seqNum; } + public byte[] getBackingBuffer() + { + return buffer.data; + } + public AvByteBufferDescriptor getNewPayloadDescriptor() { return new AvByteBufferDescriptor(buffer.data, buffer.offset+12, buffer.length-12);