in src/main/java/com/amazonaws/kvstranscribestreaming/utils/KVSUtils.java [88:122]
public static ByteBuffer getByteBufferFromStream(StreamingMkvReader streamingMkvReader,
FragmentMetadataVisitor fragmentVisitor,
KVSTransactionIdTagProcessor tagProcessor,
int chunkSizeInKB) throws MkvElementVisitException {
List<ByteBuffer> byteBufferList = new ArrayList<ByteBuffer>();
for (int i = 0; i < chunkSizeInKB; i++) {
ByteBuffer byteBuffer = KVSUtils.getByteBufferFromStream(streamingMkvReader, fragmentVisitor, tagProcessor);
if (byteBuffer.remaining() > 0) {
byteBufferList.add(byteBuffer);
} else {
break;
}
}
int length = 0;
for (ByteBuffer bb : byteBufferList) {
length += bb.remaining();
}
if (length == 0) {
return ByteBuffer.allocate(0);
}
ByteBuffer combinedByteBuffer = ByteBuffer.allocate(length);
for (ByteBuffer bb : byteBufferList) {
combinedByteBuffer.put(bb);
}
combinedByteBuffer.flip();
return combinedByteBuffer;
}