Optimize the reinitialization of the buffer descriptor in the receive threads

This commit is contained in:
Cameron Gutman 2013-11-24 17:29:12 -05:00
parent 9a3c5dac0a
commit 732ea8a3ac
2 changed files with 11 additions and 17 deletions

View File

@ -184,8 +184,8 @@ public class NvAudioStream {
Thread t = new Thread() {
@Override
public void run() {
DatagramPacket packet = new DatagramPacket(new byte[1500], 1500);
AvByteBufferDescriptor desc = new AvByteBufferDescriptor(null, 0, 0);
AvByteBufferDescriptor desc = new AvByteBufferDescriptor(new byte[1500], 0, 1500);
DatagramPacket packet = new DatagramPacket(desc.data, desc.length);
while (!isInterrupted())
{
@ -195,15 +195,12 @@ public class NvAudioStream {
listener.connectionTerminated(e);
return;
}
desc.length = packet.getLength();
desc.offset = packet.getOffset();
desc.data = packet.getData();
// Give the packet to the depacketizer thread
desc.length = packet.getLength();
if (packets.offer(new AvRtpPacket(desc))) {
// Get a new buffer from the buffer pool
packet.setData(new byte[1500], 0, 1500);
desc.reinitialize(new byte[1500], 0, 1500);
packet.setData(desc.data, desc.offset, desc.length);
}
}
}

View File

@ -242,8 +242,8 @@ public class NvVideoStream {
Thread t = new Thread() {
@Override
public void run() {
DatagramPacket packet = new DatagramPacket(new byte[1500], 1500);
AvByteBufferDescriptor desc = new AvByteBufferDescriptor(null, 0, 0);
AvByteBufferDescriptor desc = new AvByteBufferDescriptor(new byte[1500], 0, 1500);
DatagramPacket packet = new DatagramPacket(desc.data, desc.length);
while (!isInterrupted())
{
@ -254,14 +254,11 @@ public class NvVideoStream {
return;
}
desc.length = packet.getLength();
desc.offset = packet.getOffset();
desc.data = packet.getData();
// Give the packet to the depacketizer thread
desc.length = packet.getLength();
if (packets.offer(new AvRtpPacket(desc))) {
// Get a new buffer from the buffer pool
packet.setData(new byte[1500], 0, 1500);
desc.reinitialize(new byte[1500], 0, 1500);
packet.setData(desc.data, desc.offset, desc.length);
}
}
}