in connect-audio-stream-solution/kvsMLInferenceFunction/src/main/java/com/amazonaws/kvsmlinference/KVSUtils.java [129:165]
public static ByteBuffer getByteBufferFromStream(StreamingMkvReader streamingMkvReader,
FragmentMetadataVisitor fragmentVisitor,
KVSContactTagProcessor tagProcessor,
String contactId,
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, contactId, track);
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;
}