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 3b8f72ff31..f8797034fc 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 @@ -49,15 +49,25 @@ public final class TsExtractorTest { } @Test - public void testSampleScte35() throws Exception { + public void testSampleWithScte35() throws Exception { ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_scte35.ts"); } @Test - public void testAit() throws Exception { + public void testWithAit() throws Exception { ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_ait.ts"); } + @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"); + } + @Test public void testStreamWithJunkData() throws Exception { ExtractorAsserts.assertBehavior( 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 0000000000..7be76c5463 Binary files /dev/null and b/testdata/src/test/assets/ts/sample_ac4.ts differ diff --git a/testdata/src/test/assets/ts/sample_ac4.ts.0.dump b/testdata/src/test/assets/ts/sample_ac4.ts.0.dump new file mode 100644 index 0000000000..8189af0380 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac4.ts.0.dump @@ -0,0 +1,111 @@ +seekMap: + isSeekable = true + duration = 796888 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(398444) = [[timeUs=398444, position=13385]] + getPosition(796888) = [[timeUs=796888, position=26959]] +numberOfTracks = 1 +track 1900: + total output bytes = 7594 + sample count = 19 + format 0: + averageBitrate = -1 + peakBitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/ac4 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 2 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + sample 0: + time = 0 + flags = 1 + data = length 366, hash B4277F9E + sample 1: + time = 40000 + flags = 1 + data = length 366, hash E8E0A142 + sample 2: + time = 80000 + flags = 1 + data = length 366, hash 2E5073D0 + sample 3: + time = 120000 + flags = 1 + data = length 366, hash 850E71D8 + sample 4: + time = 160000 + flags = 1 + data = length 366, hash 69CD444E + sample 5: + time = 200000 + flags = 1 + data = length 366, hash BD24F36D + sample 6: + time = 240000 + flags = 1 + data = length 366, hash E24F2490 + sample 7: + time = 280000 + flags = 1 + data = length 366, hash EE6F1F06 + sample 8: + time = 320000 + flags = 1 + data = length 366, hash 2DAB000F + sample 9: + time = 360000 + flags = 1 + data = length 366, hash 8102B7EC + sample 10: + time = 400000 + flags = 1 + data = length 366, hash 55BF59AC + sample 11: + time = 440000 + flags = 1 + data = length 494, hash CBC2E09F + sample 12: + time = 480000 + flags = 1 + data = length 519, hash 9DAF56E9 + sample 13: + time = 520000 + flags = 1 + data = length 598, hash 8169EE2 + sample 14: + time = 560000 + flags = 1 + data = length 435, hash 28C21246 + sample 15: + time = 600000 + flags = 1 + data = length 365, hash FF14716D + sample 16: + time = 640000 + flags = 1 + data = length 392, hash 4CC96B29 + sample 17: + time = 680000 + flags = 1 + data = length 373, hash D7AC6D4E + sample 18: + time = 720000 + flags = 1 + data = length 392, hash 99F2511F +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac4.ts.1.dump b/testdata/src/test/assets/ts/sample_ac4.ts.1.dump new file mode 100644 index 0000000000..280d6e07ad --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac4.ts.1.dump @@ -0,0 +1,83 @@ +seekMap: + isSeekable = true + duration = 796888 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(398444) = [[timeUs=398444, position=13385]] + getPosition(796888) = [[timeUs=796888, position=26959]] +numberOfTracks = 1 +track 1900: + total output bytes = 5032 + sample count = 12 + format 0: + averageBitrate = -1 + peakBitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/ac4 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 2 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + sample 0: + time = 280000 + flags = 1 + data = length 366, hash EE6F1F06 + sample 1: + time = 320000 + flags = 1 + data = length 366, hash 2DAB000F + sample 2: + time = 360000 + flags = 1 + data = length 366, hash 8102B7EC + sample 3: + time = 400000 + flags = 1 + data = length 366, hash 55BF59AC + sample 4: + time = 440000 + flags = 1 + data = length 494, hash CBC2E09F + sample 5: + time = 480000 + flags = 1 + data = length 519, hash 9DAF56E9 + sample 6: + time = 520000 + flags = 1 + data = length 598, hash 8169EE2 + sample 7: + time = 560000 + flags = 1 + data = length 435, hash 28C21246 + sample 8: + time = 600000 + flags = 1 + data = length 365, hash FF14716D + sample 9: + time = 640000 + flags = 1 + data = length 392, hash 4CC96B29 + sample 10: + time = 680000 + flags = 1 + data = length 373, hash D7AC6D4E + sample 11: + time = 720000 + flags = 1 + data = length 392, hash 99F2511F +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac4.ts.2.dump b/testdata/src/test/assets/ts/sample_ac4.ts.2.dump new file mode 100644 index 0000000000..04cba48e03 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac4.ts.2.dump @@ -0,0 +1,59 @@ +seekMap: + isSeekable = true + duration = 796888 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(398444) = [[timeUs=398444, position=13385]] + getPosition(796888) = [[timeUs=796888, position=26959]] +numberOfTracks = 1 +track 1900: + total output bytes = 2555 + sample count = 6 + format 0: + averageBitrate = -1 + peakBitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/ac4 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 2 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + sample 0: + time = 520000 + flags = 1 + data = length 598, hash 8169EE2 + sample 1: + time = 560000 + flags = 1 + data = length 435, hash 28C21246 + sample 2: + time = 600000 + flags = 1 + data = length 365, hash FF14716D + sample 3: + time = 640000 + flags = 1 + data = length 392, hash 4CC96B29 + sample 4: + time = 680000 + flags = 1 + data = length 373, hash D7AC6D4E + sample 5: + time = 720000 + flags = 1 + data = length 392, hash 99F2511F +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac4.ts.3.dump b/testdata/src/test/assets/ts/sample_ac4.ts.3.dump new file mode 100644 index 0000000000..71b85c7d87 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac4.ts.3.dump @@ -0,0 +1,35 @@ +seekMap: + isSeekable = true + duration = 796888 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(398444) = [[timeUs=398444, position=13385]] + getPosition(796888) = [[timeUs=796888, position=26959]] +numberOfTracks = 1 +track 1900: + total output bytes = 0 + sample count = 0 + format 0: + averageBitrate = -1 + peakBitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/ac4 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 2 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac4.ts.unklen.dump b/testdata/src/test/assets/ts/sample_ac4.ts.unklen.dump new file mode 100644 index 0000000000..cbed674296 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac4.ts.unklen.dump @@ -0,0 +1,108 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 1900: + total output bytes = 7594 + sample count = 19 + format 0: + averageBitrate = -1 + peakBitrate = -1 + id = 1/1900 + containerMimeType = null + sampleMimeType = audio/ac4 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 2 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = null + drmInitData = - + metadata = null + initializationData: + sample 0: + time = 0 + flags = 1 + data = length 366, hash B4277F9E + sample 1: + time = 40000 + flags = 1 + data = length 366, hash E8E0A142 + sample 2: + time = 80000 + flags = 1 + data = length 366, hash 2E5073D0 + sample 3: + time = 120000 + flags = 1 + data = length 366, hash 850E71D8 + sample 4: + time = 160000 + flags = 1 + data = length 366, hash 69CD444E + sample 5: + time = 200000 + flags = 1 + data = length 366, hash BD24F36D + sample 6: + time = 240000 + flags = 1 + data = length 366, hash E24F2490 + sample 7: + time = 280000 + flags = 1 + data = length 366, hash EE6F1F06 + sample 8: + time = 320000 + flags = 1 + data = length 366, hash 2DAB000F + sample 9: + time = 360000 + flags = 1 + data = length 366, hash 8102B7EC + sample 10: + time = 400000 + flags = 1 + data = length 366, hash 55BF59AC + sample 11: + time = 440000 + flags = 1 + data = length 494, hash CBC2E09F + sample 12: + time = 480000 + flags = 1 + data = length 519, hash 9DAF56E9 + sample 13: + time = 520000 + flags = 1 + data = length 598, hash 8169EE2 + sample 14: + time = 560000 + flags = 1 + data = length 435, hash 28C21246 + sample 15: + time = 600000 + flags = 1 + data = length 365, hash FF14716D + sample 16: + time = 640000 + flags = 1 + data = length 392, hash 4CC96B29 + sample 17: + time = 680000 + flags = 1 + data = length 373, hash D7AC6D4E + sample 18: + time = 720000 + flags = 1 + data = length 392, hash 99F2511F +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3.ts b/testdata/src/test/assets/ts/sample_eac3.ts new file mode 100644 index 0000000000..51d90cec0a Binary files /dev/null and b/testdata/src/test/assets/ts/sample_eac3.ts differ 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..b1399c0e0a --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.0.dump @@ -0,0 +1,251 @@ +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: + total output bytes = 216000 + sample count = 54 + format 0: + averageBitrate = -1 + peakBitrate = -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: + 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..18bd52867d --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.1.dump @@ -0,0 +1,203 @@ +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: + total output bytes = 168000 + sample count = 42 + format 0: + averageBitrate = -1 + peakBitrate = -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: + 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..33288aac2f --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.2.dump @@ -0,0 +1,131 @@ +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: + total output bytes = 96000 + sample count = 24 + format 0: + averageBitrate = -1 + peakBitrate = -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: + 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..91c9d386f8 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.3.dump @@ -0,0 +1,35 @@ +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: + total output bytes = 0 + sample count = 0 + format 0: + averageBitrate = -1 + peakBitrate = -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: +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..50c07f8963 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3.ts.unklen.dump @@ -0,0 +1,248 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 1900: + total output bytes = 216000 + sample count = 54 + format 0: + averageBitrate = -1 + peakBitrate = -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: + 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