package us.sosia.video.stream.handler.frame; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.buffer.ChannelBufferFactory; import org.jboss.netty.buffer.ChannelBuffers; public class DirectChannelBufferFactory implements ChannelBufferFactory{ @Override public ChannelBuffer getBuffer(int capacity) { return ChannelBuffers.directBuffer(capacity); } @Override public ChannelBuffer getBuffer(ByteOrder endianness, int capacity) { return ChannelBuffers.directBuffer(endianness, capacity); } @Override public ChannelBuffer getBuffer(byte[] array, int offset, int length) { ChannelBuffer channelBuffer = ChannelBuffers.directBuffer(length); channelBuffer.writeBytes(array, offset, length); return channelBuffer; } @Override public ChannelBuffer getBuffer(ByteOrder endianness, byte[] array, int offset, int length) { ChannelBuffer channelBuffer = ChannelBuffers.directBuffer(endianness,length); channelBuffer.writeBytes(array, offset, length); return channelBuffer; } @Override public ChannelBuffer getBuffer(ByteBuffer nioBuffer) { int size = nioBuffer.capacity(); ChannelBuffer channelBuffer = ChannelBuffers.directBuffer(nioBuffer.order(), size); channelBuffer.writeBytes(nioBuffer); return channelBuffer; } @Override public ByteOrder getDefaultOrder() { return ByteOrder.BIG_ENDIAN; } }