From 9019b855abc666bbdcdfb8957092d4b0aa260e7b Mon Sep 17 00:00:00 2001 From: Mark Kremer Date: Sat, 3 Aug 2024 17:15:21 +0200 Subject: [PATCH] Test the retrieved samples are correct after flac.Seek() --- flac/decode_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/flac/decode_test.go b/flac/decode_test.go index 848a5bb..848d581 100644 --- a/flac/decode_test.go +++ b/flac/decode_test.go @@ -61,6 +61,10 @@ func TestDecoder_Seek(t *testing.T) { assert.NoError(t, err) assert.Equal(t, seekPos, flacStream.Position()) + wavSamples := testtools.CollectNum(100, wavStream) + flacSamples := testtools.CollectNum(100, flacStream) + assert.Equal(t, wavSamples, flacSamples) + // Test middle of 2nd frame seekPos = (int(frameStarts[1]) + int(frameStarts[2])) / 2 err = wavStream.Seek(seekPos) @@ -70,6 +74,10 @@ func TestDecoder_Seek(t *testing.T) { assert.NoError(t, err) assert.Equal(t, seekPos, flacStream.Position()) + wavSamples = testtools.CollectNum(100, wavStream) + flacSamples = testtools.CollectNum(100, flacStream) + assert.Equal(t, wavSamples, flacSamples) + // Test end of 2nd frame seekPos = int(frameStarts[2]) - 1 err = wavStream.Seek(seekPos) @@ -78,6 +86,10 @@ func TestDecoder_Seek(t *testing.T) { err = flacStream.Seek(seekPos) assert.NoError(t, err) assert.Equal(t, seekPos, flacStream.Position()) + + wavSamples = testtools.CollectNum(100, wavStream) + flacSamples = testtools.CollectNum(100, flacStream) + assert.Equal(t, wavSamples, flacSamples) } func getFlacFrameStartPositions(r io.Reader) ([]uint64, error) {