Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
7fd78666
authored
Nov 12, 2020
by
christosts
Committed by
Christos Tsilopoulos
Nov 13, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add Robolectric playback tests for existing MKA assets
PiperOrigin-RevId: 342060794
parent
55afddf0
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
422 additions
and
0 deletions
library/core/src/test/java/com/google/android/exoplayer2/e2etest/MkaPlaybackTest.java
testdata/src/test/assets/playbackdumps/mka/bear-flac-16bit.mka.dump
testdata/src/test/assets/playbackdumps/mka/bear-flac-24bit.mka.dump
testdata/src/test/assets/playbackdumps/mka/bear-opus-negative-gain.mka.dump
testdata/src/test/assets/playbackdumps/mka/bear-opus.mka.dump
library/core/src/test/java/com/google/android/exoplayer2/e2etest/MkaPlaybackTest.java
0 → 100644
View file @
7fd78666
/*
* Copyright (C) 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
google
.
android
.
exoplayer2
.
e2etest
;
import
android.graphics.SurfaceTexture
;
import
android.view.Surface
;
import
androidx.test.core.app.ApplicationProvider
;
import
com.google.android.exoplayer2.MediaItem
;
import
com.google.android.exoplayer2.Player
;
import
com.google.android.exoplayer2.SimpleExoPlayer
;
import
com.google.android.exoplayer2.robolectric.PlaybackOutput
;
import
com.google.android.exoplayer2.robolectric.ShadowMediaCodecConfig
;
import
com.google.android.exoplayer2.robolectric.TestPlayerRunHelper
;
import
com.google.android.exoplayer2.testutil.AutoAdvancingFakeClock
;
import
com.google.android.exoplayer2.testutil.DumpFileAsserts
;
import
com.google.common.collect.ImmutableList
;
import
org.junit.Rule
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.robolectric.ParameterizedRobolectricTestRunner
;
import
org.robolectric.ParameterizedRobolectricTestRunner.Parameters
;
import
org.robolectric.annotation.Config
;
/** End-to-end tests using MKA samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config
(
sdk
=
29
)
@RunWith
(
ParameterizedRobolectricTestRunner
.
class
)
public
final
class
MkaPlaybackTest
{
@Parameters
(
name
=
"{0}"
)
public
static
ImmutableList
<
String
>
mediaSamples
()
{
return
ImmutableList
.
of
(
"bear-flac-16bit.mka"
,
"bear-flac-24bit.mka"
,
"bear-opus.mka"
,
"bear-opus-negative-gain.mka"
);
}
@ParameterizedRobolectricTestRunner
.
Parameter
public
String
inputFile
;
@Rule
public
ShadowMediaCodecConfig
mediaCodecConfig
=
ShadowMediaCodecConfig
.
forAllSupportedMimeTypes
();
@Test
public
void
test
()
throws
Exception
{
SimpleExoPlayer
player
=
new
SimpleExoPlayer
.
Builder
(
ApplicationProvider
.
getApplicationContext
())
.
setClock
(
new
AutoAdvancingFakeClock
())
.
build
();
player
.
setVideoSurface
(
new
Surface
(
new
SurfaceTexture
(
/* texName= */
1
)));
PlaybackOutput
playbackOutput
=
PlaybackOutput
.
register
(
player
,
mediaCodecConfig
);
player
.
setMediaItem
(
MediaItem
.
fromUri
(
"asset:///media/mka/"
+
inputFile
));
player
.
prepare
();
player
.
play
();
TestPlayerRunHelper
.
runUntilPlaybackState
(
player
,
Player
.
STATE_ENDED
);
player
.
release
();
DumpFileAsserts
.
assertOutput
(
ApplicationProvider
.
getApplicationContext
(),
playbackOutput
,
"playbackdumps/mka/"
+
inputFile
+
".dump"
);
}
}
testdata/src/test/assets/playbackdumps/mka/bear-flac-16bit.mka.dump
0 → 100644
View file @
7fd78666
MediaCodec (audio/flac):
buffers.length = 30
buffers[0] = length 3608, hash EE7EFC6C
buffers[1] = length 4278, hash 7BAF8A9
buffers[2] = length 3763, hash 40C70127
buffers[3] = length 3568, hash 51FBCC44
buffers[4] = length 4339, hash FFA8D5A2
buffers[5] = length 3788, hash 5F5CFFDD
buffers[6] = length 3714, hash DD46DF94
buffers[7] = length 3766, hash 4D96187C
buffers[8] = length 3806, hash 86DB14D4
buffers[9] = length 3755, hash AF217312
buffers[10] = length 3824, hash 37A61E58
buffers[11] = length 4785, hash F5200FA7
buffers[12] = length 4619, hash 8D64F73D
buffers[13] = length 3915, hash 73500C2C
buffers[14] = length 4763, hash 2FCDE683
buffers[15] = length 4154, hash A5AB5A5D
buffers[16] = length 4547, hash BF9A246A
buffers[17] = length 4005, hash 83EE3482
buffers[18] = length 3905, hash E6EE5342
buffers[19] = length 3797, hash AE6F03B2
buffers[20] = length 3863, hash E022115D
buffers[21] = length 3958, hash B3F0059
buffers[22] = length 3856, hash 81DEB55F
buffers[23] = length 3958, hash EC7E2889
buffers[24] = length 3937, hash 2CC2FD97
buffers[25] = length 3934, hash F80FF227
buffers[26] = length 3954, hash 17C9E273
buffers[27] = length 2299, hash 3F1A98BF
buffers[28] = length 333, hash FC52D488
buffers[29] = length 0, hash 1
testdata/src/test/assets/playbackdumps/mka/bear-flac-24bit.mka.dump
0 → 100644
View file @
7fd78666
MediaCodec (audio/flac):
buffers.length = 30
buffers[0] = length 3610, hash C0423D1B
buffers[1] = length 4280, hash 2E8BEA95
buffers[2] = length 3765, hash EDE8EB27
buffers[3] = length 3570, hash 49DC5122
buffers[4] = length 4341, hash 54B19279
buffers[5] = length 3790, hash 2A45E2ED
buffers[6] = length 3716, hash 7C9037F7
buffers[7] = length 3768, hash AD0272F9
buffers[8] = length 3808, hash 5EA67F93
buffers[9] = length 3757, hash 49A182E0
buffers[10] = length 3826, hash 3B1D36A5
buffers[11] = length 4787, hash BAD9FD83
buffers[12] = length 4621, hash FF75E71D
buffers[13] = length 3917, hash 576128F0
buffers[14] = length 4765, hash 533216EE
buffers[15] = length 4156, hash CABB5909
buffers[16] = length 4549, hash 7E10A60C
buffers[17] = length 4007, hash 10851893
buffers[18] = length 3907, hash E54710ED
buffers[19] = length 3799, hash 2A466310
buffers[20] = length 3865, hash E0187577
buffers[21] = length 3960, hash BD8BAE69
buffers[22] = length 3858, hash A5AFCF25
buffers[23] = length 3960, hash 68C635
buffers[24] = length 3939, hash 6D7A7AB9
buffers[25] = length 3936, hash 70272966
buffers[26] = length 3956, hash 6E328CC8
buffers[27] = length 2476, hash AF155313
buffers[28] = length 335, hash 1B7D092B
buffers[29] = length 0, hash 1
testdata/src/test/assets/playbackdumps/mka/bear-opus-negative-gain.mka.dump
0 → 100644
View file @
7fd78666
MediaCodec (audio/opus):
buffers.length = 138
buffers[0] = length 375, hash 147EA9B
buffers[1] = length 187, hash C8ADD7C2
buffers[2] = length 175, hash A6D94D6E
buffers[3] = length 162, hash 45359884
buffers[4] = length 163, hash CBB836AF
buffers[5] = length 293, hash EEB23890
buffers[6] = length 160, hash 7843AFDA
buffers[7] = length 162, hash 607E26A4
buffers[8] = length 164, hash C1423D63
buffers[9] = length 169, hash 90CEDF8C
buffers[10] = length 165, hash 97A6A3F7
buffers[11] = length 179, hash 2EA2049F
buffers[12] = length 168, hash FCD51794
buffers[13] = length 162, hash 80D9FBC0
buffers[14] = length 162, hash BB673AC7
buffers[15] = length 161, hash 8D5CC41B
buffers[16] = length 161, hash 5F5E6270
buffers[17] = length 165, hash 117B14D9
buffers[18] = length 166, hash D8BFD4
buffers[19] = length 162, hash 61D76007
buffers[20] = length 165, hash 78245BE8
buffers[21] = length 165, hash A5F5B919
buffers[22] = length 255, hash 1F42ECE2
buffers[23] = length 165, hash D89D3EF0
buffers[24] = length 164, hash C44C8E79
buffers[25] = length 163, hash FFCE2E84
buffers[26] = length 184, hash FD7BF02A
buffers[27] = length 162, hash 59074C0F
buffers[28] = length 162, hash 41CAF78D
buffers[29] = length 163, hash 50F0BCBD
buffers[30] = length 163, hash FABC49B3
buffers[31] = length 256, hash 8515E521
buffers[32] = length 244, hash D5F80618
buffers[33] = length 162, hash A23FA880
buffers[34] = length 163, hash 5D99DCD2
buffers[35] = length 163, hash 37A4EB87
buffers[36] = length 164, hash 4C190996
buffers[37] = length 164, hash A2F6E788
buffers[38] = length 162, hash E7353EFB
buffers[39] = length 161, hash FFF24D5F
buffers[40] = length 162, hash 95B27AB0
buffers[41] = length 163, hash C43CB498
buffers[42] = length 164, hash 438F5714
buffers[43] = length 163, hash BDB72F57
buffers[44] = length 162, hash 3194B57A
buffers[45] = length 163, hash D7CC025
buffers[46] = length 162, hash F9E19F4D
buffers[47] = length 194, hash EED4C2BD
buffers[48] = length 164, hash ABFAEEFE
buffers[49] = length 163, hash 7487380A
buffers[50] = length 163, hash D4BFFB76
buffers[51] = length 164, hash F3EB6797
buffers[52] = length 163, hash 82B7ABB7
buffers[53] = length 177, hash 921FEDAE
buffers[54] = length 162, hash BC7D176B
buffers[55] = length 165, hash 32DAEB04
buffers[56] = length 164, hash 55FDBC77
buffers[57] = length 230, hash FC32522D
buffers[58] = length 177, hash DF834667
buffers[59] = length 161, hash F2ADFBCA
buffers[60] = length 161, hash 13CB7679
buffers[61] = length 164, hash A12B20AC
buffers[62] = length 163, hash 38D448B
buffers[63] = length 164, hash BFE96C9A
buffers[64] = length 161, hash 921431E3
buffers[65] = length 162, hash 9DDE27E0
buffers[66] = length 165, hash 42C01110
buffers[67] = length 163, hash C244C6B1
buffers[68] = length 162, hash 288A7D7A
buffers[69] = length 164, hash 6DDF8E96
buffers[70] = length 312, hash DD1760ED
buffers[71] = length 164, hash 40BD6AB0
buffers[72] = length 167, hash 45FEB94
buffers[73] = length 164, hash 1783D8D9
buffers[74] = length 165, hash 7F68CB47
buffers[75] = length 163, hash 431D98B9
buffers[76] = length 164, hash 2F7F0A03
buffers[77] = length 164, hash 330E9D40
buffers[78] = length 161, hash 670A6D84
buffers[79] = length 162, hash 55CEAB6A
buffers[80] = length 161, hash 690C1C44
buffers[81] = length 311, hash 507DC3E7
buffers[82] = length 226, hash 2D0C0942
buffers[83] = length 163, hash 47A75060
buffers[84] = length 163, hash 198A78EB
buffers[85] = length 165, hash F7AF184
buffers[86] = length 163, hash 7EC009AE
buffers[87] = length 163, hash 7ACF600A
buffers[88] = length 170, hash 67F513C9
buffers[89] = length 162, hash E0116535
buffers[90] = length 164, hash 6C4C8BC1
buffers[91] = length 163, hash 73E55623
buffers[92] = length 162, hash 614AB0EE
buffers[93] = length 162, hash 49E038A6
buffers[94] = length 162, hash 45BBCDDF
buffers[95] = length 163, hash 94E6047A
buffers[96] = length 162, hash FA40E646
buffers[97] = length 163, hash 54F3E885
buffers[98] = length 163, hash 42EA2C3C
buffers[99] = length 164, hash 11E5DC72
buffers[100] = length 161, hash FB697FB7
buffers[101] = length 164, hash 45137460
buffers[102] = length 232, hash F8A33CF3
buffers[103] = length 163, hash B2562537
buffers[104] = length 163, hash D07ADBF
buffers[105] = length 163, hash 2AE2FC1E
buffers[106] = length 162, hash F574ABD
buffers[107] = length 162, hash 8A20D2FC
buffers[108] = length 162, hash BD37BF40
buffers[109] = length 163, hash 81DF11E8
buffers[110] = length 165, hash 236877C0
buffers[111] = length 226, hash 6B5CD992
buffers[112] = length 162, hash 7F697CCA
buffers[113] = length 161, hash 4C2993B4
buffers[114] = length 163, hash 1DE49094
buffers[115] = length 162, hash DCA5BB9B
buffers[116] = length 165, hash 66B62984
buffers[117] = length 161, hash 994C6D54
buffers[118] = length 163, hash DA5BA1F1
buffers[119] = length 187, hash 7F6C5537
buffers[120] = length 161, hash D0AF4628
buffers[121] = length 161, hash 8A49A435
buffers[122] = length 163, hash 90D7B180
buffers[123] = length 162, hash C459D78E
buffers[124] = length 161, hash D7766E6B
buffers[125] = length 187, hash E0449F61
buffers[126] = length 162, hash 203F238E
buffers[127] = length 163, hash 15F81805
buffers[128] = length 161, hash 8496E779
buffers[129] = length 163, hash DF6A28D0
buffers[130] = length 233, hash 39CAC5CB
buffers[131] = length 250, hash 40F8863A
buffers[132] = length 248, hash BB880EB4
buffers[133] = length 247, hash A93865FE
buffers[134] = length 244, hash ED7E6DB5
buffers[135] = length 252, hash 2DD353C4
buffers[136] = length 244, hash CE73B41E
buffers[137] = length 0, hash 1
testdata/src/test/assets/playbackdumps/mka/bear-opus.mka.dump
0 → 100644
View file @
7fd78666
MediaCodec (audio/opus):
buffers.length = 138
buffers[0] = length 375, hash 147EA9B
buffers[1] = length 187, hash C8ADD7C2
buffers[2] = length 175, hash A6D94D6E
buffers[3] = length 162, hash 45359884
buffers[4] = length 163, hash CBB836AF
buffers[5] = length 293, hash EEB23890
buffers[6] = length 160, hash 7843AFDA
buffers[7] = length 162, hash 607E26A4
buffers[8] = length 164, hash C1423D63
buffers[9] = length 169, hash 90CEDF8C
buffers[10] = length 165, hash 97A6A3F7
buffers[11] = length 179, hash 2EA2049F
buffers[12] = length 168, hash FCD51794
buffers[13] = length 162, hash 80D9FBC0
buffers[14] = length 162, hash BB673AC7
buffers[15] = length 161, hash 8D5CC41B
buffers[16] = length 161, hash 5F5E6270
buffers[17] = length 165, hash 117B14D9
buffers[18] = length 166, hash D8BFD4
buffers[19] = length 162, hash 61D76007
buffers[20] = length 165, hash 78245BE8
buffers[21] = length 165, hash A5F5B919
buffers[22] = length 255, hash 1F42ECE2
buffers[23] = length 165, hash D89D3EF0
buffers[24] = length 164, hash C44C8E79
buffers[25] = length 163, hash FFCE2E84
buffers[26] = length 184, hash FD7BF02A
buffers[27] = length 162, hash 59074C0F
buffers[28] = length 162, hash 41CAF78D
buffers[29] = length 163, hash 50F0BCBD
buffers[30] = length 163, hash FABC49B3
buffers[31] = length 256, hash 8515E521
buffers[32] = length 244, hash D5F80618
buffers[33] = length 162, hash A23FA880
buffers[34] = length 163, hash 5D99DCD2
buffers[35] = length 163, hash 37A4EB87
buffers[36] = length 164, hash 4C190996
buffers[37] = length 164, hash A2F6E788
buffers[38] = length 162, hash E7353EFB
buffers[39] = length 161, hash FFF24D5F
buffers[40] = length 162, hash 95B27AB0
buffers[41] = length 163, hash C43CB498
buffers[42] = length 164, hash 438F5714
buffers[43] = length 163, hash BDB72F57
buffers[44] = length 162, hash 3194B57A
buffers[45] = length 163, hash D7CC025
buffers[46] = length 162, hash F9E19F4D
buffers[47] = length 194, hash EED4C2BD
buffers[48] = length 164, hash ABFAEEFE
buffers[49] = length 163, hash 7487380A
buffers[50] = length 163, hash D4BFFB76
buffers[51] = length 164, hash F3EB6797
buffers[52] = length 163, hash 82B7ABB7
buffers[53] = length 177, hash 921FEDAE
buffers[54] = length 162, hash BC7D176B
buffers[55] = length 165, hash 32DAEB04
buffers[56] = length 164, hash 55FDBC77
buffers[57] = length 230, hash FC32522D
buffers[58] = length 177, hash DF834667
buffers[59] = length 161, hash F2ADFBCA
buffers[60] = length 161, hash 13CB7679
buffers[61] = length 164, hash A12B20AC
buffers[62] = length 163, hash 38D448B
buffers[63] = length 164, hash BFE96C9A
buffers[64] = length 161, hash 921431E3
buffers[65] = length 162, hash 9DDE27E0
buffers[66] = length 165, hash 42C01110
buffers[67] = length 163, hash C244C6B1
buffers[68] = length 162, hash 288A7D7A
buffers[69] = length 164, hash 6DDF8E96
buffers[70] = length 312, hash DD1760ED
buffers[71] = length 164, hash 40BD6AB0
buffers[72] = length 167, hash 45FEB94
buffers[73] = length 164, hash 1783D8D9
buffers[74] = length 165, hash 7F68CB47
buffers[75] = length 163, hash 431D98B9
buffers[76] = length 164, hash 2F7F0A03
buffers[77] = length 164, hash 330E9D40
buffers[78] = length 161, hash 670A6D84
buffers[79] = length 162, hash 55CEAB6A
buffers[80] = length 161, hash 690C1C44
buffers[81] = length 311, hash 507DC3E7
buffers[82] = length 226, hash 2D0C0942
buffers[83] = length 163, hash 47A75060
buffers[84] = length 163, hash 198A78EB
buffers[85] = length 165, hash F7AF184
buffers[86] = length 163, hash 7EC009AE
buffers[87] = length 163, hash 7ACF600A
buffers[88] = length 170, hash 67F513C9
buffers[89] = length 162, hash E0116535
buffers[90] = length 164, hash 6C4C8BC1
buffers[91] = length 163, hash 73E55623
buffers[92] = length 162, hash 614AB0EE
buffers[93] = length 162, hash 49E038A6
buffers[94] = length 162, hash 45BBCDDF
buffers[95] = length 163, hash 94E6047A
buffers[96] = length 162, hash FA40E646
buffers[97] = length 163, hash 54F3E885
buffers[98] = length 163, hash 42EA2C3C
buffers[99] = length 164, hash 11E5DC72
buffers[100] = length 161, hash FB697FB7
buffers[101] = length 164, hash 45137460
buffers[102] = length 232, hash F8A33CF3
buffers[103] = length 163, hash B2562537
buffers[104] = length 163, hash D07ADBF
buffers[105] = length 163, hash 2AE2FC1E
buffers[106] = length 162, hash F574ABD
buffers[107] = length 162, hash 8A20D2FC
buffers[108] = length 162, hash BD37BF40
buffers[109] = length 163, hash 81DF11E8
buffers[110] = length 165, hash 236877C0
buffers[111] = length 226, hash 6B5CD992
buffers[112] = length 162, hash 7F697CCA
buffers[113] = length 161, hash 4C2993B4
buffers[114] = length 163, hash 1DE49094
buffers[115] = length 162, hash DCA5BB9B
buffers[116] = length 165, hash 66B62984
buffers[117] = length 161, hash 994C6D54
buffers[118] = length 163, hash DA5BA1F1
buffers[119] = length 187, hash 7F6C5537
buffers[120] = length 161, hash D0AF4628
buffers[121] = length 161, hash 8A49A435
buffers[122] = length 163, hash 90D7B180
buffers[123] = length 162, hash C459D78E
buffers[124] = length 161, hash D7766E6B
buffers[125] = length 187, hash E0449F61
buffers[126] = length 162, hash 203F238E
buffers[127] = length 163, hash 15F81805
buffers[128] = length 161, hash 8496E779
buffers[129] = length 163, hash DF6A28D0
buffers[130] = length 233, hash 39CAC5CB
buffers[131] = length 250, hash 40F8863A
buffers[132] = length 248, hash BB880EB4
buffers[133] = length 247, hash A93865FE
buffers[134] = length 244, hash ED7E6DB5
buffers[135] = length 252, hash 2DD353C4
buffers[136] = length 244, hash CE73B41E
buffers[137] = length 0, hash 1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment