private void assertReadSample(
long timeUs, boolean isKeyframe, byte[] sampleData, int offset, int length) {
clearFormatHolderAndInputBuffer();
int result = sampleQueue.read(formatHolder, inputBuffer, false, false, 0);
assertThat(result).isEqualTo(RESULT_BUFFER_READ);
assertThat(formatHolder.format).isNull();
assertThat(inputBuffer.timeUs).isEqualTo(timeUs);
assertThat(inputBuffer.isKeyFrame()).isEqualTo(isKeyframe);
assertThat(inputBuffer.isDecodeOnly()).isFalse();
assertThat(inputBuffer.isEncrypted()).isFalse();
inputBuffer.flip();
assertThat(inputBuffer.data.limit()).isEqualTo(length);
byte[] readData = new byte[length];
inputBuffer.data.get(readData);
assertThat(readData).isEqualTo(copyOfRange(sampleData, offset, offset + length));
}