diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java index b933e19828..86f8e846f8 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java @@ -52,6 +52,12 @@ public final class FragmentedMp4ExtractorTest { ExtractorAsserts.assertBehavior(extractorFactory, "mp4/sample_fragmented_sei.mp4"); } + @Test + public void sampleWithAc3Track() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), "mp4/sample_ac3_fragmented.mp4"); + } + @Test public void sampleWithAc4Track() throws Exception { ExtractorAsserts.assertBehavior( @@ -70,6 +76,12 @@ public final class FragmentedMp4ExtractorTest { getExtractorFactory(ImmutableList.of()), "mp4/sample_eac3_fragmented.mp4"); } + @Test + public void sampleWithEac3jocTrack() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), "mp4/sample_eac3joc_fragmented.mp4"); + } + private static ExtractorFactory getExtractorFactory(final List closedCaptionFormats) { return () -> new FragmentedMp4Extractor( diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java index 9f8a635a1f..5c1e8e11df 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java @@ -43,6 +43,11 @@ public final class Mp4ExtractorTest { ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_mdat_too_long.mp4"); } + @Test + public void mp4SampleWithAc3Track() throws Exception { + ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_ac3.mp4"); + } + @Test public void mp4SampleWithAc4Track() throws Exception { ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_ac4.mp4"); @@ -52,4 +57,9 @@ public final class Mp4ExtractorTest { public void mp4SampleWithEac3Track() throws Exception { ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_eac3.mp4"); } + + @Test + public void mp4SampleWithEac3jocTrack() throws Exception { + ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_eac3joc.mp4"); + } } diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/Ac3ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/Ac3ExtractorTest.java index 1a2cc99478..2ec60e686e 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/Ac3ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/ts/Ac3ExtractorTest.java @@ -33,4 +33,9 @@ public final class Ac3ExtractorTest { public void eAc3Sample() throws Exception { ExtractorAsserts.assertBehavior(Ac3Extractor::new, "ts/sample.eac3"); } + + @Test + public void testEAc3jocSample() throws Exception { + ExtractorAsserts.assertBehavior(Ac3Extractor::new, "ts/sample_eac3joc.ec3"); + } } 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 db01dffb77..cb0052c56e 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 @@ -58,6 +58,11 @@ public final class TsExtractorTest { ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_ait.ts"); } + @Test + public void sampleWithAc3() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_ac3.ts"); + } + @Test public void sampleWithAc4() throws Exception { ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_ac4.ts"); @@ -68,6 +73,11 @@ public final class TsExtractorTest { ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_eac3.ts"); } + @Test + public void sampleWithEac3joc() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_eac3joc.ts"); + } + @Test public void streamWithJunkData() throws Exception { ExtractorAsserts.assertBehavior( diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4 b/testdata/src/test/assets/mp4/sample_ac3.mp4 new file mode 100644 index 0000000000..2ec78814f2 Binary files /dev/null and b/testdata/src/test/assets/mp4/sample_ac3.mp4 differ diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4.0.dump b/testdata/src/test/assets/mp4/sample_ac3.mp4.0.dump new file mode 100644 index 0000000000..c2e51faaef --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3.mp4.0.dump @@ -0,0 +1,55 @@ +seekMap: + isSeekable = true + duration = 288333 + getPosition(0) = [[timeUs=0, position=609]] + getPosition(1) = [[timeUs=1, position=609]] + getPosition(144166) = [[timeUs=144166, position=6753]] + getPosition(288333) = [[timeUs=288333, position=12897]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + id = 1 + sampleMimeType = audio/ac3 + maxInputSize = 1566 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 536870913 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4.1.dump b/testdata/src/test/assets/mp4/sample_ac3.mp4.1.dump new file mode 100644 index 0000000000..80f0790cd0 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3.mp4.1.dump @@ -0,0 +1,43 @@ +seekMap: + isSeekable = true + duration = 288333 + getPosition(0) = [[timeUs=0, position=609]] + getPosition(1) = [[timeUs=1, position=609]] + getPosition(144166) = [[timeUs=144166, position=6753]] + getPosition(288333) = [[timeUs=288333, position=12897]] +numberOfTracks = 1 +track 0: + total output bytes = 9216 + sample count = 6 + format 0: + id = 1 + sampleMimeType = audio/ac3 + maxInputSize = 1566 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 1: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 2: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 3: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 4: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 5: + time = 256000 + flags = 536870913 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4.2.dump b/testdata/src/test/assets/mp4/sample_ac3.mp4.2.dump new file mode 100644 index 0000000000..a8d1588940 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3.mp4.2.dump @@ -0,0 +1,31 @@ +seekMap: + isSeekable = true + duration = 288333 + getPosition(0) = [[timeUs=0, position=609]] + getPosition(1) = [[timeUs=1, position=609]] + getPosition(144166) = [[timeUs=144166, position=6753]] + getPosition(288333) = [[timeUs=288333, position=12897]] +numberOfTracks = 1 +track 0: + total output bytes = 4608 + sample count = 3 + format 0: + id = 1 + sampleMimeType = audio/ac3 + maxInputSize = 1566 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 1: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 2: + time = 256000 + flags = 536870913 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4.3.dump b/testdata/src/test/assets/mp4/sample_ac3.mp4.3.dump new file mode 100644 index 0000000000..17bf79c850 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3.mp4.3.dump @@ -0,0 +1,23 @@ +seekMap: + isSeekable = true + duration = 288333 + getPosition(0) = [[timeUs=0, position=609]] + getPosition(1) = [[timeUs=1, position=609]] + getPosition(144166) = [[timeUs=144166, position=6753]] + getPosition(288333) = [[timeUs=288333, position=12897]] +numberOfTracks = 1 +track 0: + total output bytes = 1536 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/ac3 + maxInputSize = 1566 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 256000 + flags = 536870913 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3.mp4.unklen.dump b/testdata/src/test/assets/mp4/sample_ac3.mp4.unklen.dump new file mode 100644 index 0000000000..c2e51faaef --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3.mp4.unklen.dump @@ -0,0 +1,55 @@ +seekMap: + isSeekable = true + duration = 288333 + getPosition(0) = [[timeUs=0, position=609]] + getPosition(1) = [[timeUs=1, position=609]] + getPosition(144166) = [[timeUs=144166, position=6753]] + getPosition(288333) = [[timeUs=288333, position=12897]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + id = 1 + sampleMimeType = audio/ac3 + maxInputSize = 1566 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 536870913 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4 b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4 new file mode 100644 index 0000000000..d8b0a6ca52 Binary files /dev/null and b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4 differ diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.0.dump b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.0.dump new file mode 100644 index 0000000000..3724592554 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.0.dump @@ -0,0 +1,54 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.1.dump b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.1.dump new file mode 100644 index 0000000000..e9019d4ab1 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.1.dump @@ -0,0 +1,46 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 10752 + sample count = 7 + format 0: + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 1: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 2: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 3: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 4: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 5: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 6: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.2.dump b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.2.dump new file mode 100644 index 0000000000..2b9cb1cd52 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.2.dump @@ -0,0 +1,34 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 6144 + sample count = 4 + format 0: + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 1: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 2: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 3: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.3.dump b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.3.dump new file mode 100644 index 0000000000..eb313f941d --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.3.dump @@ -0,0 +1,22 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 1536 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.unklen.dump b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.unklen.dump new file mode 100644 index 0000000000..3724592554 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_ac3_fragmented.mp4.unklen.dump @@ -0,0 +1,54 @@ +seekMap: + isSeekable = true + duration = 288000 + getPosition(0) = [[timeUs=0, position=636]] + getPosition(1) = [[timeUs=0, position=636]] + getPosition(144000) = [[timeUs=0, position=636]] + getPosition(288000) = [[timeUs=0, position=636]] +numberOfTracks = 1 +track 0: + total output bytes = 13824 + sample count = 9 + format 0: + id = 1 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 32000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 64000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 96000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 128000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 160000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 192000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 224000 + flags = 1 + data = length 1536, hash 99B9B943 + sample 8: + time = 256000 + flags = 1 + data = length 1536, hash AAD9FCD2 +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4 b/testdata/src/test/assets/mp4/sample_eac3joc.mp4 new file mode 100644 index 0000000000..cd1fdccdb8 Binary files /dev/null and b/testdata/src/test/assets/mp4/sample_eac3joc.mp4 differ diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4.0.dump b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.0.dump new file mode 100644 index 0000000000..ecc28b7208 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.0.dump @@ -0,0 +1,275 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=956]] + getPosition(1) = [[timeUs=1, position=956]] + getPosition(1024000) = [[timeUs=1024000, position=82876]] + getPosition(2048000) = [[timeUs=2048000, position=162236]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 536870913 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4.1.dump b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.1.dump new file mode 100644 index 0000000000..d9ed0c417d --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.1.dump @@ -0,0 +1,191 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=956]] + getPosition(1) = [[timeUs=1, position=956]] + getPosition(1024000) = [[timeUs=1024000, position=82876]] + getPosition(2048000) = [[timeUs=2048000, position=162236]] +numberOfTracks = 1 +track 0: + total output bytes = 110080 + sample count = 43 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 1: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 2: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 3: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 4: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 5: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 6: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 7: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 8: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 9: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 10: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 11: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 12: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 13: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 14: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 15: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 16: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 17: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 18: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 19: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 20: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 21: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 22: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 23: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 24: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 25: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 26: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 27: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 28: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 29: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 30: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 31: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 32: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 33: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 34: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 35: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 36: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 37: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 38: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 39: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 40: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 41: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 42: + time = 2016000 + flags = 536870913 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4.2.dump b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.2.dump new file mode 100644 index 0000000000..741d5199ea --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.2.dump @@ -0,0 +1,107 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=956]] + getPosition(1) = [[timeUs=1, position=956]] + getPosition(1024000) = [[timeUs=1024000, position=82876]] + getPosition(2048000) = [[timeUs=2048000, position=162236]] +numberOfTracks = 1 +track 0: + total output bytes = 56320 + sample count = 22 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 1: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 2: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 3: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 4: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 5: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 6: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 7: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 8: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 9: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 10: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 11: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 12: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 13: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 14: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 15: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 16: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 17: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 18: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 19: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 20: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 21: + time = 2016000 + flags = 536870913 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4.3.dump b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.3.dump new file mode 100644 index 0000000000..98fe8c793d --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.3.dump @@ -0,0 +1,23 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=956]] + getPosition(1) = [[timeUs=1, position=956]] + getPosition(1024000) = [[timeUs=1024000, position=82876]] + getPosition(2048000) = [[timeUs=2048000, position=162236]] +numberOfTracks = 1 +track 0: + total output bytes = 2560 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 2016000 + flags = 536870913 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc.mp4.unklen.dump b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.unklen.dump new file mode 100644 index 0000000000..ecc28b7208 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc.mp4.unklen.dump @@ -0,0 +1,275 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=956]] + getPosition(1) = [[timeUs=1, position=956]] + getPosition(1024000) = [[timeUs=1024000, position=82876]] + getPosition(2048000) = [[timeUs=2048000, position=162236]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + maxInputSize = 2590 + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 536870913 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4 b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4 new file mode 100644 index 0000000000..fbe922c3c5 Binary files /dev/null and b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4 differ diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.0.dump b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.0.dump new file mode 100644 index 0000000000..c5902f5d19 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.0.dump @@ -0,0 +1,274 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.1.dump b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.1.dump new file mode 100644 index 0000000000..8fa0cbf7fe --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.1.dump @@ -0,0 +1,190 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 110080 + sample count = 43 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 1: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 2: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 3: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 4: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 5: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 6: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 7: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 8: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 9: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 10: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 11: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 12: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 13: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 14: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 15: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 16: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 17: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 18: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 19: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 20: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 21: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 22: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 23: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 24: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 25: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 26: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 27: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 28: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 29: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 30: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 31: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 32: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 33: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 34: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 35: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 36: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 37: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 38: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 39: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 40: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 41: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 42: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.2.dump b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.2.dump new file mode 100644 index 0000000000..603ca0de80 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.2.dump @@ -0,0 +1,106 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 56320 + sample count = 22 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 1: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 2: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 3: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 4: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 5: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 6: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 7: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 8: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 9: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 10: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 11: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 12: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 13: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 14: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 15: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 16: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 17: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 18: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 19: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 20: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 21: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.3.dump b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.3.dump new file mode 100644 index 0000000000..cd42dac917 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.3.dump @@ -0,0 +1,22 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 2560 + sample count = 1 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.unklen.dump b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.unklen.dump new file mode 100644 index 0000000000..c5902f5d19 --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_eac3joc_fragmented.mp4.unklen.dump @@ -0,0 +1,274 @@ +seekMap: + isSeekable = true + duration = 2048000 + getPosition(0) = [[timeUs=0, position=640]] + getPosition(1) = [[timeUs=0, position=640]] + getPosition(1024000) = [[timeUs=0, position=640]] + getPosition(2048000) = [[timeUs=0, position=640]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + language = und + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac3.ts b/testdata/src/test/assets/ts/sample_ac3.ts new file mode 100644 index 0000000000..48dc17c215 Binary files /dev/null and b/testdata/src/test/assets/ts/sample_ac3.ts differ diff --git a/testdata/src/test/assets/ts/sample_ac3.ts.0.dump b/testdata/src/test/assets/ts/sample_ac3.ts.0.dump new file mode 100644 index 0000000000..561963e10c --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac3.ts.0.dump @@ -0,0 +1,49 @@ +seekMap: + isSeekable = true + duration = 252977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(126488) = [[timeUs=126488, position=9099]] + getPosition(252977) = [[timeUs=252977, position=18386]] +numberOfTracks = 1 +track 1900: + total output bytes = 13281 + sample count = 8 + format 0: + id = 1/1900 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 32000 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 64000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 96000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 128000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 160000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 192000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 224000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 256000 + flags = 1 + data = length 1536, hash 99B9B943 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac3.ts.1.dump b/testdata/src/test/assets/ts/sample_ac3.ts.1.dump new file mode 100644 index 0000000000..d778af898d --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac3.ts.1.dump @@ -0,0 +1,41 @@ +seekMap: + isSeekable = true + duration = 252977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(126488) = [[timeUs=126488, position=9099]] + getPosition(252977) = [[timeUs=252977, position=18386]] +numberOfTracks = 1 +track 1900: + total output bytes = 10209 + sample count = 6 + format 0: + id = 1/1900 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 96000 + flags = 1 + data = length 1536, hash 5D09685 + sample 1: + time = 128000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 2: + time = 160000 + flags = 1 + data = length 1536, hash 6F856273 + sample 3: + time = 192000 + flags = 1 + data = length 1536, hash B1737D3C + sample 4: + time = 224000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 5: + time = 256000 + flags = 1 + data = length 1536, hash 99B9B943 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac3.ts.2.dump b/testdata/src/test/assets/ts/sample_ac3.ts.2.dump new file mode 100644 index 0000000000..f48ba43854 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac3.ts.2.dump @@ -0,0 +1,33 @@ +seekMap: + isSeekable = true + duration = 252977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(126488) = [[timeUs=126488, position=9099]] + getPosition(252977) = [[timeUs=252977, position=18386]] +numberOfTracks = 1 +track 1900: + total output bytes = 7137 + sample count = 4 + format 0: + id = 1/1900 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 160000 + flags = 1 + data = length 1536, hash 6F856273 + sample 1: + time = 192000 + flags = 1 + data = length 1536, hash B1737D3C + sample 2: + time = 224000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 3: + time = 256000 + flags = 1 + data = length 1536, hash 99B9B943 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac3.ts.3.dump b/testdata/src/test/assets/ts/sample_ac3.ts.3.dump new file mode 100644 index 0000000000..997d7a6b02 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac3.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 252977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(126488) = [[timeUs=126488, position=9099]] + getPosition(252977) = [[timeUs=252977, position=18386]] +numberOfTracks = 1 +track 1900: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/1900 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_ac3.ts.unklen.dump b/testdata/src/test/assets/ts/sample_ac3.ts.unklen.dump new file mode 100644 index 0000000000..a98cb798cb --- /dev/null +++ b/testdata/src/test/assets/ts/sample_ac3.ts.unklen.dump @@ -0,0 +1,46 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 1900: + total output bytes = 13281 + sample count = 8 + format 0: + id = 1/1900 + sampleMimeType = audio/ac3 + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 32000 + flags = 1 + data = length 1536, hash 7108D5C2 + sample 1: + time = 64000 + flags = 1 + data = length 1536, hash 80BF3B34 + sample 2: + time = 96000 + flags = 1 + data = length 1536, hash 5D09685 + sample 3: + time = 128000 + flags = 1 + data = length 1536, hash A9A24E44 + sample 4: + time = 160000 + flags = 1 + data = length 1536, hash 6F856273 + sample 5: + time = 192000 + flags = 1 + data = length 1536, hash B1737D3C + sample 6: + time = 224000 + flags = 1 + data = length 1536, hash 98FDEB9D + sample 7: + time = 256000 + flags = 1 + data = length 1536, hash 99B9B943 +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ec3 b/testdata/src/test/assets/ts/sample_eac3joc.ec3 new file mode 100644 index 0000000000..26ba6b4421 Binary files /dev/null and b/testdata/src/test/assets/ts/sample_eac3joc.ec3 differ diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ec3.0.dump b/testdata/src/test/assets/ts/sample_eac3joc.ec3.0.dump new file mode 100644 index 0000000000..f8888698bd --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ec3.0.dump @@ -0,0 +1,270 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 0 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ec3.unklen.dump b/testdata/src/test/assets/ts/sample_eac3joc.ec3.unklen.dump new file mode 100644 index 0000000000..f8888698bd --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ec3.unklen.dump @@ -0,0 +1,270 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 0: + total output bytes = 163840 + sample count = 64 + format 0: + id = 0 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts b/testdata/src/test/assets/ts/sample_eac3joc.ts new file mode 100644 index 0000000000..04bcf59287 Binary files /dev/null and b/testdata/src/test/assets/ts/sample_eac3joc.ts differ diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts.0.dump b/testdata/src/test/assets/ts/sample_eac3joc.ts.0.dump new file mode 100644 index 0000000000..a3cf812691 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ts.0.dump @@ -0,0 +1,273 @@ +seekMap: + isSeekable = true + duration = 2013977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(1006988) = [[timeUs=1006988, position=101524]] + getPosition(2013977) = [[timeUs=2013977, position=203237]] +numberOfTracks = 1 +track 1900: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1/1900 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts.1.dump b/testdata/src/test/assets/ts/sample_eac3joc.ts.1.dump new file mode 100644 index 0000000000..77951bd767 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ts.1.dump @@ -0,0 +1,193 @@ +seekMap: + isSeekable = true + duration = 2013977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(1006988) = [[timeUs=1006988, position=101524]] + getPosition(2013977) = [[timeUs=2013977, position=203237]] +numberOfTracks = 1 +track 1900: + total output bytes = 112640 + sample count = 44 + format 0: + id = 1/1900 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 1: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 2: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 3: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 4: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 5: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 6: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 7: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 8: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 9: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 10: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 11: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 12: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 13: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 14: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 15: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 16: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 17: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 18: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 19: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 20: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 21: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 22: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 23: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 24: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 25: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 26: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 27: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 28: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 29: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 30: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 31: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 32: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 33: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 34: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 35: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 36: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 37: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 38: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 39: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 40: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 41: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 42: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 43: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts.2.dump b/testdata/src/test/assets/ts/sample_eac3joc.ts.2.dump new file mode 100644 index 0000000000..0354754df2 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ts.2.dump @@ -0,0 +1,105 @@ +seekMap: + isSeekable = true + duration = 2013977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(1006988) = [[timeUs=1006988, position=101524]] + getPosition(2013977) = [[timeUs=2013977, position=203237]] +numberOfTracks = 1 +track 1900: + total output bytes = 56320 + sample count = 22 + format 0: + id = 1/1900 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 1: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 2: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 3: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 4: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 5: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 6: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 7: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 8: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 9: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 10: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 11: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 12: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 13: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 14: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 15: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 16: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 17: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 18: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 19: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 20: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 21: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts.3.dump b/testdata/src/test/assets/ts/sample_eac3joc.ts.3.dump new file mode 100644 index 0000000000..742d87e271 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ts.3.dump @@ -0,0 +1,25 @@ +seekMap: + isSeekable = true + duration = 2013977 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(1006988) = [[timeUs=1006988, position=101524]] + getPosition(2013977) = [[timeUs=2013977, position=203237]] +numberOfTracks = 1 +track 1900: + total output bytes = 5120 + sample count = 2 + format 0: + id = 1/1900 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 1: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true diff --git a/testdata/src/test/assets/ts/sample_eac3joc.ts.unklen.dump b/testdata/src/test/assets/ts/sample_eac3joc.ts.unklen.dump new file mode 100644 index 0000000000..269dd63593 --- /dev/null +++ b/testdata/src/test/assets/ts/sample_eac3joc.ts.unklen.dump @@ -0,0 +1,270 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 1900: + total output bytes = 163840 + sample count = 64 + format 0: + id = 1/1900 + sampleMimeType = audio/eac3-joc + channelCount = 6 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 2560, hash 882594AD + sample 1: + time = 32000 + flags = 1 + data = length 2560, hash 41EC8B22 + sample 2: + time = 64000 + flags = 1 + data = length 2560, hash 67E6EFD4 + sample 3: + time = 96000 + flags = 1 + data = length 2560, hash A7E66AFD + sample 4: + time = 128000 + flags = 1 + data = length 2560, hash 3924116 + sample 5: + time = 160000 + flags = 1 + data = length 2560, hash 64DCE40B + sample 6: + time = 192000 + flags = 1 + data = length 2560, hash F2E0DA64 + sample 7: + time = 224000 + flags = 1 + data = length 2560, hash C156258B + sample 8: + time = 256000 + flags = 1 + data = length 2560, hash D8DBDCDE + sample 9: + time = 288000 + flags = 1 + data = length 2560, hash C11B2F25 + sample 10: + time = 320000 + flags = 1 + data = length 2560, hash B3C5612 + sample 11: + time = 352000 + flags = 1 + data = length 2560, hash A94B15D0 + sample 12: + time = 384000 + flags = 1 + data = length 2560, hash 12E4E306 + sample 13: + time = 416000 + flags = 1 + data = length 2560, hash 11CB959F + sample 14: + time = 448000 + flags = 1 + data = length 2560, hash B6433844 + sample 15: + time = 480000 + flags = 1 + data = length 2560, hash EA6DEB89 + sample 16: + time = 512000 + flags = 1 + data = length 2560, hash 6D65CBD9 + sample 17: + time = 544000 + flags = 1 + data = length 2560, hash A5D635C5 + sample 18: + time = 576000 + flags = 1 + data = length 2560, hash 992E36AB + sample 19: + time = 608000 + flags = 1 + data = length 2560, hash 1EC4E5AF + sample 20: + time = 640000 + flags = 1 + data = length 2560, hash DCFEB7D2 + sample 21: + time = 672000 + flags = 1 + data = length 2560, hash 45EFC639 + sample 22: + time = 704000 + flags = 1 + data = length 2560, hash F598673 + sample 23: + time = 736000 + flags = 1 + data = length 2560, hash 89E4E5EC + sample 24: + time = 768000 + flags = 1 + data = length 2560, hash FBE2532B + sample 25: + time = 800000 + flags = 1 + data = length 2560, hash 9CE5F83B + sample 26: + time = 832000 + flags = 1 + data = length 2560, hash 6ED49E2C + sample 27: + time = 864000 + flags = 1 + data = length 2560, hash BC52F8F3 + sample 28: + time = 896000 + flags = 1 + data = length 2560, hash 759203E2 + sample 29: + time = 928000 + flags = 1 + data = length 2560, hash D5D31AE9 + sample 30: + time = 960000 + flags = 1 + data = length 2560, hash 640A24ED + sample 31: + time = 992000 + flags = 1 + data = length 2560, hash 19B52B8B + sample 32: + time = 1024000 + flags = 1 + data = length 2560, hash 5DA977C3 + sample 33: + time = 1056000 + flags = 1 + data = length 2560, hash 982879DD + sample 34: + time = 1088000 + flags = 1 + data = length 2560, hash A7656B9C + sample 35: + time = 1120000 + flags = 1 + data = length 2560, hash 445CCC67 + sample 36: + time = 1152000 + flags = 1 + data = length 2560, hash ACD5CB5C + sample 37: + time = 1184000 + flags = 1 + data = length 2560, hash 175BBF26 + sample 38: + time = 1216000 + flags = 1 + data = length 2560, hash DBCBEB0 + sample 39: + time = 1248000 + flags = 1 + data = length 2560, hash DA39D991 + sample 40: + time = 1280000 + flags = 1 + data = length 2560, hash F08CC8E2 + sample 41: + time = 1312000 + flags = 1 + data = length 2560, hash 6B0842D7 + sample 42: + time = 1344000 + flags = 1 + data = length 2560, hash 9FE87594 + sample 43: + time = 1376000 + flags = 1 + data = length 2560, hash 8E62CE19 + sample 44: + time = 1408000 + flags = 1 + data = length 2560, hash 5FDC4084 + sample 45: + time = 1440000 + flags = 1 + data = length 2560, hash C32DAEE1 + sample 46: + time = 1472000 + flags = 1 + data = length 2560, hash BBEFB568 + sample 47: + time = 1504000 + flags = 1 + data = length 2560, hash 20504279 + sample 48: + time = 1536000 + flags = 1 + data = length 2560, hash 3B8192D2 + sample 49: + time = 1568000 + flags = 1 + data = length 2560, hash 4206B48 + sample 50: + time = 1600000 + flags = 1 + data = length 2560, hash B195AB53 + sample 51: + time = 1632000 + flags = 1 + data = length 2560, hash 3AA8E25F + sample 52: + time = 1664000 + flags = 1 + data = length 2560, hash BC227D7B + sample 53: + time = 1696000 + flags = 1 + data = length 2560, hash 6A34F7EA + sample 54: + time = 1728000 + flags = 1 + data = length 2560, hash F1E731C4 + sample 55: + time = 1760000 + flags = 1 + data = length 2560, hash 9CC406 + sample 56: + time = 1792000 + flags = 1 + data = length 2560, hash A1532233 + sample 57: + time = 1824000 + flags = 1 + data = length 2560, hash 98E49039 + sample 58: + time = 1856000 + flags = 1 + data = length 2560, hash 3F8B6DC0 + sample 59: + time = 1888000 + flags = 1 + data = length 2560, hash 4E7BF79F + sample 60: + time = 1920000 + flags = 1 + data = length 2560, hash 6DD6F2D7 + sample 61: + time = 1952000 + flags = 1 + data = length 2560, hash A05C0EC2 + sample 62: + time = 1984000 + flags = 1 + data = length 2560, hash 10C62F30 + sample 63: + time = 2016000 + flags = 1 + data = length 2560, hash EE4F848A +tracksEnded = true