From 363693d8ecb5c1ee208aae22959892d106b18413 Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 10 Nov 2020 09:34:29 +0000 Subject: [PATCH] Add multi-channel audio samples to Mp4PlaybackTest Robolectric now supports multi-channel audio: https://github.com/robolectric/robolectric/commit/9d84ceb6d588d5f53be29b PiperOrigin-RevId: 341574417 --- .../exoplayer2/e2etest/Mp4PlaybackTest.java | 9 ++- .../playbackdumps/mp4/sample_ac3.mp4.dump | 12 ++++ .../mp4/sample_ac3_fragmented.mp4.dump | 12 ++++ .../playbackdumps/mp4/sample_eac3.mp4.dump | 57 ++++++++++++++++ .../mp4/sample_eac3_fragmented.mp4.dump | 57 ++++++++++++++++ .../playbackdumps/mp4/sample_eac3joc.mp4.dump | 67 +++++++++++++++++++ .../mp4/sample_eac3joc_fragmented.mp4.dump | 67 +++++++++++++++++++ 7 files changed, 278 insertions(+), 3 deletions(-) create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_ac3.mp4.dump create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_ac3_fragmented.mp4.dump create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_eac3.mp4.dump create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_eac3_fragmented.mp4.dump create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc.mp4.dump create mode 100644 testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc_fragmented.mp4.dump diff --git a/library/core/src/test/java/com/google/android/exoplayer2/e2etest/Mp4PlaybackTest.java b/library/core/src/test/java/com/google/android/exoplayer2/e2etest/Mp4PlaybackTest.java index 499aa3105d..fc12ce6d1f 100644 --- a/library/core/src/test/java/com/google/android/exoplayer2/e2etest/Mp4PlaybackTest.java +++ b/library/core/src/test/java/com/google/android/exoplayer2/e2etest/Mp4PlaybackTest.java @@ -42,18 +42,21 @@ import org.robolectric.annotation.Config; @RunWith(ParameterizedRobolectricTestRunner.class) public class Mp4PlaybackTest { - // TODO: Add samples with >2 audio channels when supported (sample_ac3_fragmented.mp4, - // sample_ac3.mp4sample_eac3.mp4, sample_eac3_fragmented.mp4, sample_eac3joc.mp4, - // sample_eac3joc_fragmented.mp4). @Parameters(name = "{0}") public static ImmutableList mediaSamples() { return ImmutableList.of( "midroll-5s.mp4", "postroll-5s.mp4", "preroll-5s.mp4", + "sample_ac3_fragmented.mp4", + "sample_ac3.mp4", "sample_ac4_fragmented.mp4", "sample_ac4.mp4", "sample_android_slow_motion.mp4", + "sample_eac3_fragmented.mp4", + "sample_eac3.mp4", + "sample_eac3joc_fragmented.mp4", + "sample_eac3joc.mp4", "sample_fragmented.mp4", "sample_fragmented_seekable.mp4", "sample_fragmented_sei.mp4", diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_ac3.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_ac3.mp4.dump new file mode 100644 index 0000000000..ef247edfee --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_ac3.mp4.dump @@ -0,0 +1,12 @@ +MediaCodec (audio/ac3): + buffers.length = 10 + buffers[0] = length 1536, hash 7108D5C2 + buffers[1] = length 1536, hash 80BF3B34 + buffers[2] = length 1536, hash 5D09685 + buffers[3] = length 1536, hash A9A24E44 + buffers[4] = length 1536, hash 6F856273 + buffers[5] = length 1536, hash B1737D3C + buffers[6] = length 1536, hash 98FDEB9D + buffers[7] = length 1536, hash 99B9B943 + buffers[8] = length 1536, hash AAD9FCD2 + buffers[9] = length 0, hash 1 diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_ac3_fragmented.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_ac3_fragmented.mp4.dump new file mode 100644 index 0000000000..ef247edfee --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_ac3_fragmented.mp4.dump @@ -0,0 +1,12 @@ +MediaCodec (audio/ac3): + buffers.length = 10 + buffers[0] = length 1536, hash 7108D5C2 + buffers[1] = length 1536, hash 80BF3B34 + buffers[2] = length 1536, hash 5D09685 + buffers[3] = length 1536, hash A9A24E44 + buffers[4] = length 1536, hash 6F856273 + buffers[5] = length 1536, hash B1737D3C + buffers[6] = length 1536, hash 98FDEB9D + buffers[7] = length 1536, hash 99B9B943 + buffers[8] = length 1536, hash AAD9FCD2 + buffers[9] = length 0, hash 1 diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_eac3.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3.mp4.dump new file mode 100644 index 0000000000..64f09a752b --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3.mp4.dump @@ -0,0 +1,57 @@ +MediaCodec (audio/eac3): + buffers.length = 55 + buffers[0] = length 4000, hash BAEAFB2A + buffers[1] = length 4000, hash E3C5EBF0 + buffers[2] = length 4000, hash 32E0F957 + buffers[3] = length 4000, hash 5354CC5D + buffers[4] = length 4000, hash FF834906 + buffers[5] = length 4000, hash 6F571E61 + buffers[6] = length 4000, hash 5C931F6B + buffers[7] = length 4000, hash B1FB2E57 + buffers[8] = length 4000, hash C71240EB + buffers[9] = length 4000, hash C3E302EE + buffers[10] = length 4000, hash 7994C27B + buffers[11] = length 4000, hash 1ED4E6F3 + buffers[12] = length 4000, hash 1D5E6AAC + buffers[13] = length 4000, hash 30058F51 + buffers[14] = length 4000, hash 15DD0E4A + buffers[15] = length 4000, hash 37BE7C15 + buffers[16] = length 4000, hash 7CFDD34B + buffers[17] = length 4000, hash 27F20D29 + buffers[18] = length 4000, hash 6F565894 + buffers[19] = length 4000, hash A6F07C4A + buffers[20] = length 4000, hash 3A0CA15C + buffers[21] = length 4000, hash DB365414 + buffers[22] = length 4000, hash 31E08469 + buffers[23] = length 4000, hash 315F5C28 + buffers[24] = length 4000, hash CC65DF80 + buffers[25] = length 4000, hash 503FB64C + buffers[26] = length 4000, hash 817CF735 + buffers[27] = length 4000, hash 37391ADA + buffers[28] = length 4000, hash 37391ADA + buffers[29] = length 4000, hash 64DBF751 + buffers[30] = length 4000, hash 81AE828E + buffers[31] = length 4000, hash 767D6C98 + buffers[32] = length 4000, hash A5F6D4E + buffers[33] = length 4000, hash EABC6B0D + buffers[34] = length 4000, hash F47EF742 + buffers[35] = length 4000, hash 9B2549DA + buffers[36] = length 4000, hash A12733C9 + buffers[37] = length 4000, hash 95F62E99 + buffers[38] = length 4000, hash A4D858 + buffers[39] = length 4000, hash A4D858 + buffers[40] = length 4000, hash 22C1A129 + buffers[41] = length 4000, hash 2C51E4A1 + buffers[42] = length 4000, hash 3782E8BB + buffers[43] = length 4000, hash 2C51E4A1 + buffers[44] = length 4000, hash BDB3D129 + buffers[45] = length 4000, hash F642A55 + buffers[46] = length 4000, hash 32F259F4 + buffers[47] = length 4000, hash 4C987B7C + buffers[48] = length 4000, hash 57C98E1C + buffers[49] = length 4000, hash 4C987B7C + buffers[50] = length 4000, hash 4C987B7C + buffers[51] = length 4000, hash 4C987B7C + buffers[52] = length 4000, hash 4C987B7C + buffers[53] = length 4000, hash 4C987B7C + buffers[54] = length 0, hash 1 diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_eac3_fragmented.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3_fragmented.mp4.dump new file mode 100644 index 0000000000..64f09a752b --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3_fragmented.mp4.dump @@ -0,0 +1,57 @@ +MediaCodec (audio/eac3): + buffers.length = 55 + buffers[0] = length 4000, hash BAEAFB2A + buffers[1] = length 4000, hash E3C5EBF0 + buffers[2] = length 4000, hash 32E0F957 + buffers[3] = length 4000, hash 5354CC5D + buffers[4] = length 4000, hash FF834906 + buffers[5] = length 4000, hash 6F571E61 + buffers[6] = length 4000, hash 5C931F6B + buffers[7] = length 4000, hash B1FB2E57 + buffers[8] = length 4000, hash C71240EB + buffers[9] = length 4000, hash C3E302EE + buffers[10] = length 4000, hash 7994C27B + buffers[11] = length 4000, hash 1ED4E6F3 + buffers[12] = length 4000, hash 1D5E6AAC + buffers[13] = length 4000, hash 30058F51 + buffers[14] = length 4000, hash 15DD0E4A + buffers[15] = length 4000, hash 37BE7C15 + buffers[16] = length 4000, hash 7CFDD34B + buffers[17] = length 4000, hash 27F20D29 + buffers[18] = length 4000, hash 6F565894 + buffers[19] = length 4000, hash A6F07C4A + buffers[20] = length 4000, hash 3A0CA15C + buffers[21] = length 4000, hash DB365414 + buffers[22] = length 4000, hash 31E08469 + buffers[23] = length 4000, hash 315F5C28 + buffers[24] = length 4000, hash CC65DF80 + buffers[25] = length 4000, hash 503FB64C + buffers[26] = length 4000, hash 817CF735 + buffers[27] = length 4000, hash 37391ADA + buffers[28] = length 4000, hash 37391ADA + buffers[29] = length 4000, hash 64DBF751 + buffers[30] = length 4000, hash 81AE828E + buffers[31] = length 4000, hash 767D6C98 + buffers[32] = length 4000, hash A5F6D4E + buffers[33] = length 4000, hash EABC6B0D + buffers[34] = length 4000, hash F47EF742 + buffers[35] = length 4000, hash 9B2549DA + buffers[36] = length 4000, hash A12733C9 + buffers[37] = length 4000, hash 95F62E99 + buffers[38] = length 4000, hash A4D858 + buffers[39] = length 4000, hash A4D858 + buffers[40] = length 4000, hash 22C1A129 + buffers[41] = length 4000, hash 2C51E4A1 + buffers[42] = length 4000, hash 3782E8BB + buffers[43] = length 4000, hash 2C51E4A1 + buffers[44] = length 4000, hash BDB3D129 + buffers[45] = length 4000, hash F642A55 + buffers[46] = length 4000, hash 32F259F4 + buffers[47] = length 4000, hash 4C987B7C + buffers[48] = length 4000, hash 57C98E1C + buffers[49] = length 4000, hash 4C987B7C + buffers[50] = length 4000, hash 4C987B7C + buffers[51] = length 4000, hash 4C987B7C + buffers[52] = length 4000, hash 4C987B7C + buffers[53] = length 4000, hash 4C987B7C + buffers[54] = length 0, hash 1 diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc.mp4.dump new file mode 100644 index 0000000000..6b2dc20c4f --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc.mp4.dump @@ -0,0 +1,67 @@ +MediaCodec (audio/eac3-joc): + buffers.length = 65 + buffers[0] = length 2560, hash 882594AD + buffers[1] = length 2560, hash 41EC8B22 + buffers[2] = length 2560, hash 67E6EFD4 + buffers[3] = length 2560, hash A7E66AFD + buffers[4] = length 2560, hash 3924116 + buffers[5] = length 2560, hash 64DCE40B + buffers[6] = length 2560, hash F2E0DA64 + buffers[7] = length 2560, hash C156258B + buffers[8] = length 2560, hash D8DBDCDE + buffers[9] = length 2560, hash C11B2F25 + buffers[10] = length 2560, hash B3C5612 + buffers[11] = length 2560, hash A94B15D0 + buffers[12] = length 2560, hash 12E4E306 + buffers[13] = length 2560, hash 11CB959F + buffers[14] = length 2560, hash B6433844 + buffers[15] = length 2560, hash EA6DEB89 + buffers[16] = length 2560, hash 6D65CBD9 + buffers[17] = length 2560, hash A5D635C5 + buffers[18] = length 2560, hash 992E36AB + buffers[19] = length 2560, hash 1EC4E5AF + buffers[20] = length 2560, hash DCFEB7D2 + buffers[21] = length 2560, hash 45EFC639 + buffers[22] = length 2560, hash F598673 + buffers[23] = length 2560, hash 89E4E5EC + buffers[24] = length 2560, hash FBE2532B + buffers[25] = length 2560, hash 9CE5F83B + buffers[26] = length 2560, hash 6ED49E2C + buffers[27] = length 2560, hash BC52F8F3 + buffers[28] = length 2560, hash 759203E2 + buffers[29] = length 2560, hash D5D31AE9 + buffers[30] = length 2560, hash 640A24ED + buffers[31] = length 2560, hash 19B52B8B + buffers[32] = length 2560, hash 5DA977C3 + buffers[33] = length 2560, hash 982879DD + buffers[34] = length 2560, hash A7656B9C + buffers[35] = length 2560, hash 445CCC67 + buffers[36] = length 2560, hash ACD5CB5C + buffers[37] = length 2560, hash 175BBF26 + buffers[38] = length 2560, hash DBCBEB0 + buffers[39] = length 2560, hash DA39D991 + buffers[40] = length 2560, hash F08CC8E2 + buffers[41] = length 2560, hash 6B0842D7 + buffers[42] = length 2560, hash 9FE87594 + buffers[43] = length 2560, hash 8E62CE19 + buffers[44] = length 2560, hash 5FDC4084 + buffers[45] = length 2560, hash C32DAEE1 + buffers[46] = length 2560, hash BBEFB568 + buffers[47] = length 2560, hash 20504279 + buffers[48] = length 2560, hash 3B8192D2 + buffers[49] = length 2560, hash 4206B48 + buffers[50] = length 2560, hash B195AB53 + buffers[51] = length 2560, hash 3AA8E25F + buffers[52] = length 2560, hash BC227D7B + buffers[53] = length 2560, hash 6A34F7EA + buffers[54] = length 2560, hash F1E731C4 + buffers[55] = length 2560, hash 9CC406 + buffers[56] = length 2560, hash A1532233 + buffers[57] = length 2560, hash 98E49039 + buffers[58] = length 2560, hash 3F8B6DC0 + buffers[59] = length 2560, hash 4E7BF79F + buffers[60] = length 2560, hash 6DD6F2D7 + buffers[61] = length 2560, hash A05C0EC2 + buffers[62] = length 2560, hash 10C62F30 + buffers[63] = length 2560, hash EE4F848A + buffers[64] = length 0, hash 1 diff --git a/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc_fragmented.mp4.dump b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc_fragmented.mp4.dump new file mode 100644 index 0000000000..6b2dc20c4f --- /dev/null +++ b/testdata/src/test/assets/playbackdumps/mp4/sample_eac3joc_fragmented.mp4.dump @@ -0,0 +1,67 @@ +MediaCodec (audio/eac3-joc): + buffers.length = 65 + buffers[0] = length 2560, hash 882594AD + buffers[1] = length 2560, hash 41EC8B22 + buffers[2] = length 2560, hash 67E6EFD4 + buffers[3] = length 2560, hash A7E66AFD + buffers[4] = length 2560, hash 3924116 + buffers[5] = length 2560, hash 64DCE40B + buffers[6] = length 2560, hash F2E0DA64 + buffers[7] = length 2560, hash C156258B + buffers[8] = length 2560, hash D8DBDCDE + buffers[9] = length 2560, hash C11B2F25 + buffers[10] = length 2560, hash B3C5612 + buffers[11] = length 2560, hash A94B15D0 + buffers[12] = length 2560, hash 12E4E306 + buffers[13] = length 2560, hash 11CB959F + buffers[14] = length 2560, hash B6433844 + buffers[15] = length 2560, hash EA6DEB89 + buffers[16] = length 2560, hash 6D65CBD9 + buffers[17] = length 2560, hash A5D635C5 + buffers[18] = length 2560, hash 992E36AB + buffers[19] = length 2560, hash 1EC4E5AF + buffers[20] = length 2560, hash DCFEB7D2 + buffers[21] = length 2560, hash 45EFC639 + buffers[22] = length 2560, hash F598673 + buffers[23] = length 2560, hash 89E4E5EC + buffers[24] = length 2560, hash FBE2532B + buffers[25] = length 2560, hash 9CE5F83B + buffers[26] = length 2560, hash 6ED49E2C + buffers[27] = length 2560, hash BC52F8F3 + buffers[28] = length 2560, hash 759203E2 + buffers[29] = length 2560, hash D5D31AE9 + buffers[30] = length 2560, hash 640A24ED + buffers[31] = length 2560, hash 19B52B8B + buffers[32] = length 2560, hash 5DA977C3 + buffers[33] = length 2560, hash 982879DD + buffers[34] = length 2560, hash A7656B9C + buffers[35] = length 2560, hash 445CCC67 + buffers[36] = length 2560, hash ACD5CB5C + buffers[37] = length 2560, hash 175BBF26 + buffers[38] = length 2560, hash DBCBEB0 + buffers[39] = length 2560, hash DA39D991 + buffers[40] = length 2560, hash F08CC8E2 + buffers[41] = length 2560, hash 6B0842D7 + buffers[42] = length 2560, hash 9FE87594 + buffers[43] = length 2560, hash 8E62CE19 + buffers[44] = length 2560, hash 5FDC4084 + buffers[45] = length 2560, hash C32DAEE1 + buffers[46] = length 2560, hash BBEFB568 + buffers[47] = length 2560, hash 20504279 + buffers[48] = length 2560, hash 3B8192D2 + buffers[49] = length 2560, hash 4206B48 + buffers[50] = length 2560, hash B195AB53 + buffers[51] = length 2560, hash 3AA8E25F + buffers[52] = length 2560, hash BC227D7B + buffers[53] = length 2560, hash 6A34F7EA + buffers[54] = length 2560, hash F1E731C4 + buffers[55] = length 2560, hash 9CC406 + buffers[56] = length 2560, hash A1532233 + buffers[57] = length 2560, hash 98E49039 + buffers[58] = length 2560, hash 3F8B6DC0 + buffers[59] = length 2560, hash 4E7BF79F + buffers[60] = length 2560, hash 6DD6F2D7 + buffers[61] = length 2560, hash A05C0EC2 + buffers[62] = length 2560, hash 10C62F30 + buffers[63] = length 2560, hash EE4F848A + buffers[64] = length 0, hash 1