From 397aafb3cedd3189abae118345c42d54a83ec422 Mon Sep 17 00:00:00 2001 From: ybai001 Date: Thu, 13 Feb 2020 09:47:18 +0800 Subject: [PATCH] Add EAC3 and AC-4 test assets --- .../extractor/ts/TsExtractorTest.java | 10 + testdata/src/test/assets/ts/sample_ac4.ts | Bin 0 -> 28576 bytes .../src/test/assets/ts/sample_ac4.ts.0.dump | 110 ++++++++ .../src/test/assets/ts/sample_ac4.ts.1.dump | 82 ++++++ .../src/test/assets/ts/sample_ac4.ts.2.dump | 58 ++++ .../src/test/assets/ts/sample_ac4.ts.3.dump | 34 +++ .../test/assets/ts/sample_ac4.ts.unklen.dump | 107 ++++++++ testdata/src/test/assets/ts/sample_eac3.ts | Bin 0 -> 231804 bytes .../src/test/assets/ts/sample_eac3.ts.0.dump | 250 ++++++++++++++++++ .../src/test/assets/ts/sample_eac3.ts.1.dump | 202 ++++++++++++++ .../src/test/assets/ts/sample_eac3.ts.2.dump | 130 +++++++++ .../src/test/assets/ts/sample_eac3.ts.3.dump | 34 +++ .../test/assets/ts/sample_eac3.ts.unklen.dump | 247 +++++++++++++++++ 13 files changed, 1264 insertions(+) create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts.0.dump create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts.1.dump create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts.2.dump create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts.3.dump create mode 100644 testdata/src/test/assets/ts/sample_ac4.ts.unklen.dump create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts.0.dump create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts.1.dump create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts.2.dump create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts.3.dump create mode 100644 testdata/src/test/assets/ts/sample_eac3.ts.unklen.dump diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/TsExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/TsExtractorTest.java index d80a87ddaa..d0ab2f2ed8 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/TsExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/TsExtractorTest.java @@ -111,6 +111,16 @@ public final class TsExtractorTest { assertThat(factory.sdtReader.consumedSdts).isEqualTo(2); } + @Test + public void testSampleWithAc4() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_ac4.ts"); + } + + @Test + public void testSampleWithEac3() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_eac3.ts"); + } + private static final class CustomTsPayloadReaderFactory implements TsPayloadReader.Factory { private final boolean provideSdtReader; diff --git a/testdata/src/test/assets/ts/sample_ac4.ts b/testdata/src/test/assets/ts/sample_ac4.ts new file mode 100644 index 0000000000000000000000000000000000000000..7be76c5463be2cc64a49d879e7bf0e53a6a2c1cb GIT binary patch literal 28576 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 literal 0 HcmV?d00001 diff --git a/testdata/src/test/assets/ts/sample_eac3.ts.0.dump b/testdata/src/test/assets/ts/sample_eac3.ts.0.dump new file mode 100644 index 0000000000..c71f245470 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.0.dump @@ -0,0 +1,250 @@ +seekMap: + isSeekable = true + duration = 250077 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(125038) = [[timeUs=125038, position=109918]] + getPosition(250077) = [[timeUs=250077, position=220025]] +numberOfTracks = 1 +track 1900: + format: + bitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + total output bytes = 216000 + sample count = 54 + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 5333 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 10666 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 15999 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 21332 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 26665 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 32000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 37333 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 42666 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 47999 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 53332 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 58665 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 64000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 69333 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 74666 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 79999 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 85332 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 90665 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 96000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 101333 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 106666 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 111999 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 117332 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 122665 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 128000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 133333 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 138666 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 143999 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 149332 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 154665 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 160000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 165333 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 170666 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 175999 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 181332 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 186665 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 192000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 197333 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 202666 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 207999 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 213332 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 218665 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 224000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 229333 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 234666 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 239999 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 245332 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 250665 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 256000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 261333 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 266666 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 271999 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 277332 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 282665 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3.ts.1.dump b/testdata/src/test/assets/ts/sample_eac3.ts.1.dump new file mode 100644 index 0000000000..4340d89c96 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.1.dump @@ -0,0 +1,202 @@ +seekMap: + isSeekable = true + duration = 250077 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(125038) = [[timeUs=125038, position=109918]] + getPosition(250077) = [[timeUs=250077, position=220025]] +numberOfTracks = 1 +track 1900: + format: + bitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + total output bytes = 168000 + sample count = 42 + sample 0: + time = 64000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 1: + time = 69333 + flags = 1 + data = length 4000, hash 30058F51 + sample 2: + time = 74666 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 3: + time = 79999 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 4: + time = 85332 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 5: + time = 90665 + flags = 1 + data = length 4000, hash 27F20D29 + sample 6: + time = 96000 + flags = 1 + data = length 4000, hash 6F565894 + sample 7: + time = 101333 + flags = 1 + data = length 4000, hash A6F07C4A + sample 8: + time = 106666 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 9: + time = 111999 + flags = 1 + data = length 4000, hash DB365414 + sample 10: + time = 117332 + flags = 1 + data = length 4000, hash 31E08469 + sample 11: + time = 122665 + flags = 1 + data = length 4000, hash 315F5C28 + sample 12: + time = 128000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 13: + time = 133333 + flags = 1 + data = length 4000, hash 503FB64C + sample 14: + time = 138666 + flags = 1 + data = length 4000, hash 817CF735 + sample 15: + time = 143999 + flags = 1 + data = length 4000, hash 37391ADA + sample 16: + time = 149332 + flags = 1 + data = length 4000, hash 37391ADA + sample 17: + time = 154665 + flags = 1 + data = length 4000, hash 64DBF751 + sample 18: + time = 160000 + flags = 1 + data = length 4000, hash 81AE828E + sample 19: + time = 165333 + flags = 1 + data = length 4000, hash 767D6C98 + sample 20: + time = 170666 + flags = 1 + data = length 4000, hash A5F6D4E + sample 21: + time = 175999 + flags = 1 + data = length 4000, hash EABC6B0D + sample 22: + time = 181332 + flags = 1 + data = length 4000, hash F47EF742 + sample 23: + time = 186665 + flags = 1 + data = length 4000, hash 9B2549DA + sample 24: + time = 192000 + flags = 1 + data = length 4000, hash A12733C9 + sample 25: + time = 197333 + flags = 1 + data = length 4000, hash 95F62E99 + sample 26: + time = 202666 + flags = 1 + data = length 4000, hash A4D858 + sample 27: + time = 207999 + flags = 1 + data = length 4000, hash A4D858 + sample 28: + time = 213332 + flags = 1 + data = length 4000, hash 22C1A129 + sample 29: + time = 218665 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 30: + time = 224000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 31: + time = 229333 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 32: + time = 234666 + flags = 1 + data = length 4000, hash BDB3D129 + sample 33: + time = 239999 + flags = 1 + data = length 4000, hash F642A55 + sample 34: + time = 245332 + flags = 1 + data = length 4000, hash 32F259F4 + sample 35: + time = 250665 + flags = 1 + data = length 4000, hash 4C987B7C + sample 36: + time = 256000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 37: + time = 261333 + flags = 1 + data = length 4000, hash 4C987B7C + sample 38: + time = 266666 + flags = 1 + data = length 4000, hash 4C987B7C + sample 39: + time = 271999 + flags = 1 + data = length 4000, hash 4C987B7C + sample 40: + time = 277332 + flags = 1 + data = length 4000, hash 4C987B7C + sample 41: + time = 282665 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3.ts.2.dump b/testdata/src/test/assets/ts/sample_eac3.ts.2.dump new file mode 100644 index 0000000000..d3c3b882e2 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.2.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = true + duration = 250077 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(125038) = [[timeUs=125038, position=109918]] + getPosition(250077) = [[timeUs=250077, position=220025]] +numberOfTracks = 1 +track 1900: + format: + bitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + total output bytes = 96000 + sample count = 24 + sample 0: + time = 160000 + flags = 1 + data = length 4000, hash 81AE828E + sample 1: + time = 165333 + flags = 1 + data = length 4000, hash 767D6C98 + sample 2: + time = 170666 + flags = 1 + data = length 4000, hash A5F6D4E + sample 3: + time = 175999 + flags = 1 + data = length 4000, hash EABC6B0D + sample 4: + time = 181332 + flags = 1 + data = length 4000, hash F47EF742 + sample 5: + time = 186665 + flags = 1 + data = length 4000, hash 9B2549DA + sample 6: + time = 192000 + flags = 1 + data = length 4000, hash A12733C9 + sample 7: + time = 197333 + flags = 1 + data = length 4000, hash 95F62E99 + sample 8: + time = 202666 + flags = 1 + data = length 4000, hash A4D858 + sample 9: + time = 207999 + flags = 1 + data = length 4000, hash A4D858 + sample 10: + time = 213332 + flags = 1 + data = length 4000, hash 22C1A129 + sample 11: + time = 218665 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 12: + time = 224000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 13: + time = 229333 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 14: + time = 234666 + flags = 1 + data = length 4000, hash BDB3D129 + sample 15: + time = 239999 + flags = 1 + data = length 4000, hash F642A55 + sample 16: + time = 245332 + flags = 1 + data = length 4000, hash 32F259F4 + sample 17: + time = 250665 + flags = 1 + data = length 4000, hash 4C987B7C + sample 18: + time = 256000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 19: + time = 261333 + flags = 1 + data = length 4000, hash 4C987B7C + sample 20: + time = 266666 + flags = 1 + data = length 4000, hash 4C987B7C + sample 21: + time = 271999 + flags = 1 + data = length 4000, hash 4C987B7C + sample 22: + time = 277332 + flags = 1 + data = length 4000, hash 4C987B7C + sample 23: + time = 282665 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3.ts.3.dump b/testdata/src/test/assets/ts/sample_eac3.ts.3.dump new file mode 100644 index 0000000000..0d23929df3 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.3.dump @@ -0,0 +1,34 @@ +seekMap: + isSeekable = true + duration = 250077 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(125038) = [[timeUs=125038, position=109918]] + getPosition(250077) = [[timeUs=250077, position=220025]] +numberOfTracks = 1 +track 1900: + format: + bitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + total output bytes = 0 + sample count = 0 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3.ts.unklen.dump b/testdata/src/test/assets/ts/sample_eac3.ts.unklen.dump new file mode 100644 index 0000000000..022af1b928 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.unklen.dump @@ -0,0 +1,247 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 1900: + format: + bitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + total output bytes = 216000 + sample count = 54 + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 5333 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 10666 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 15999 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 21332 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 26665 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 32000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 37333 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 42666 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 47999 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 53332 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 58665 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 64000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 69333 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 74666 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 79999 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 85332 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 90665 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 96000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 101333 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 106666 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 111999 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 117332 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 122665 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 128000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 133333 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 138666 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 143999 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 149332 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 154665 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 160000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 165333 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 170666 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 175999 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 181332 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 186665 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 192000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 197333 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 202666 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 207999 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 213332 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 218665 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 224000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 229333 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 234666 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 239999 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 245332 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 250665 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 256000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 261333 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 266666 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 271999 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 277332 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 282665 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true