@Test
public void checkAndReadFrameHeader_validData_writesSampleNumber() throws Exception {

  FlacStreamMetadataHolder streamMetadataHolder =
      new FlacStreamMetadataHolder(/* flacStreamMetadata= */ null);
  ExtractorInput input =
      buildExtractorInputReadingFromFirstFrame(
          "flac/bear_one_metadata_block.flac", streamMetadataHolder);
  int frameStartMarker = FlacMetadataReader.getFrameStartMarker(input);
  // Skip first frame.
  input.skip(5030);
  ParsableByteArray scratch = new ParsableByteArray(FlacConstants.MAX_FRAME_HEADER_SIZE);
  input.read(scratch.data, 0, FlacConstants.MAX_FRAME_HEADER_SIZE);
  SampleNumberHolder sampleNumberHolder = new SampleNumberHolder();
  FlacFrameReader.checkAndReadFrameHeader(
      scratch, streamMetadataHolder.flacStreamMetadata, frameStartMarker, sampleNumberHolder);
  assertThat(sampleNumberHolder.sampleNumber).isEqualTo(4096);
}