in lca-ai-stack/source/kvs_transcribe_streaming/src/main/java/com/amazonaws/kvstranscribestreaming/KVSUtils.java [118:154]
public static ByteBuffer getByteBufferFromStream(StreamingMkvReader streamingMkvReader,
FragmentMetadataVisitor fragmentVisitor,
KVSContactTagProcessor tagProcessor,
String callId,
int chunkSizeInKB,
String track) 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;
}