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
cbd91999
authored
Nov 16, 2020
by
christosts
Committed by
kim-vde
Nov 17, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add Robolectric playback tests for existing VP9 assets
PiperOrigin-RevId: 342660971
parent
0a778ceb
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
333 additions
and
0 deletions
library/core/src/test/java/com/google/android/exoplayer2/e2etest/Vp9PlaybackTest.java
testdata/src/test/assets/playbackdumps/vp9/bear-vp9-odd-dimensions.webm.dump
testdata/src/test/assets/playbackdumps/vp9/bear-vp9.webm.dump
testdata/src/test/assets/playbackdumps/vp9/invalid-bitstream.webm.dump
testdata/src/test/assets/playbackdumps/vp9/roadtrip-vp92-10bit.webm.dump
library/core/src/test/java/com/google/android/exoplayer2/e2etest/Vp9PlaybackTest.java
0 → 100644
View file @
cbd91999
/*
* 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 VP9 samples. */
// TODO(b/143232359): Remove once https://issuetracker.google.com/143232359 is resolved.
@Config
(
sdk
=
29
)
@RunWith
(
ParameterizedRobolectricTestRunner
.
class
)
public
final
class
Vp9PlaybackTest
{
@Parameters
(
name
=
"{0}"
)
public
static
ImmutableList
<
String
>
mediaSamples
()
{
return
ImmutableList
.
of
(
"bear-vp9-odd-dimensions.webm"
,
"bear-vp9.webm"
,
"invalid-bitstream.webm"
,
"roadtrip-vp92-10bit.webm"
);
}
@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/vp9/"
+
inputFile
));
player
.
prepare
();
player
.
play
();
TestPlayerRunHelper
.
runUntilPlaybackState
(
player
,
Player
.
STATE_ENDED
);
player
.
release
();
DumpFileAsserts
.
assertOutput
(
ApplicationProvider
.
getApplicationContext
(),
playbackOutput
,
"playbackdumps/vp9/"
+
inputFile
+
".dump"
);
}
}
testdata/src/test/assets/playbackdumps/vp9/bear-vp9-odd-dimensions.webm.dump
0 → 100644
View file @
cbd91999
MediaCodec (video/x-vnd.on2.vp9):
buffers.length = 31
buffers[0] = length 10658, hash E48B4B1D
buffers[1] = length 5866, hash 59922F8F
buffers[2] = length 248, hash A39B2D24
buffers[3] = length 754, hash FD304EFB
buffers[4] = length 333, hash 246D89D4
buffers[5] = length 459, hash BA2A967C
buffers[6] = length 387, hash EDFD8392
buffers[7] = length 407, hash 49159738
buffers[8] = length 380, hash 67F173C9
buffers[9] = length 242, hash 9C3FBC87
buffers[10] = length 20, hash 8199A61
buffers[11] = length 3551, hash 86834065
buffers[12] = length 586, hash 56F9001
buffers[13] = length 462, hash 74FAC6C4
buffers[14] = length 451, hash 9D8C95CB
buffers[15] = length 471, hash 99164341
buffers[16] = length 388, hash 5108D935
buffers[17] = length 414, hash 59D4D209
buffers[18] = length 432, hash A50BE20
buffers[19] = length 260, hash 1453AACE
buffers[20] = length 21, hash 358CAA22
buffers[21] = length 302, hash 9B71370F
buffers[22] = length 439, hash 1CC94A39
buffers[23] = length 545, hash 28B26B20
buffers[24] = length 331, hash E03847CC
buffers[25] = length 580, hash DD364645
buffers[26] = length 444, hash 569F0F7C
buffers[27] = length 514, hash 4D031D97
buffers[28] = length 374, hash 2682FDF4
buffers[29] = length 547, hash EE67E734
buffers[30] = length 0, hash 1
testdata/src/test/assets/playbackdumps/vp9/bear-vp9.webm.dump
0 → 100644
View file @
cbd91999
MediaCodec (video/x-vnd.on2.vp9):
buffers.length = 83
buffers[0] = length 3792, hash 70319132
buffers[1] = length 64, hash 2661DD32
buffers[2] = length 119, hash 8432D13B
buffers[3] = length 154, hash 3C2605A6
buffers[4] = length 217, hash 35901EAB
buffers[5] = length 240, hash BB8C64E0
buffers[6] = length 279, hash 1049FA3C
buffers[7] = length 241, hash 2A6B3915
buffers[8] = length 320, hash 8668600B
buffers[9] = length 367, hash DE9678EF
buffers[10] = length 350, hash 8DB6DF03
buffers[11] = length 498, hash AE21B561
buffers[12] = length 616, hash 63F6CCE
buffers[13] = length 496, hash F783D2A6
buffers[14] = length 646, hash E994A0D5
buffers[15] = length 778, hash 4FBCB2DC
buffers[16] = length 836, hash 9CCB96
buffers[17] = length 741, hash 26E9D761
buffers[18] = length 971, hash 7B860A38
buffers[19] = length 707, hash A9897854
buffers[20] = length 999, hash 16298027
buffers[21] = length 531, hash F882C9C1
buffers[22] = length 637, hash 97C5D538
buffers[23] = length 1129, hash CC0A23BD
buffers[24] = length 762, hash 494FB8F9
buffers[25] = length 816, hash 9968424D
buffers[26] = length 883, hash 839D8C8E
buffers[27] = length 782, hash 66DAE49C
buffers[28] = length 1315, hash 1C101FF0
buffers[29] = length 816, hash CE02A2FF
buffers[30] = length 794, hash EE87059A
buffers[31] = length 958, hash 68AC94E6
buffers[32] = length 662, hash EBFBE047
buffers[33] = length 1217, hash 76A5D68A
buffers[34] = length 517, hash D477B6B8
buffers[35] = length 730, hash 9C95EAB3
buffers[36] = length 1949, hash 4AE29A38
buffers[37] = length 351, hash 31A3F42E
buffers[38] = length 1195, hash 4DD3358B
buffers[39] = length 560, hash 4068738D
buffers[40] = length 1161, hash D915A8DC
buffers[41] = length 773, hash CC627770
buffers[42] = length 894, hash CF894838
buffers[43] = length 1043, hash 63D5425C
buffers[44] = length 887, hash C06D34D5
buffers[45] = length 868, hash 54669AE6
buffers[46] = length 762, hash 62FE7CAE
buffers[47] = length 967, hash 8D562A0A
buffers[48] = length 962, hash DBB8BE73
buffers[49] = length 1124, hash 2F923F45
buffers[50] = length 642, hash CBF0CACF
buffers[51] = length 947, hash 952CD416
buffers[52] = length 686, hash 6CB0BF25
buffers[53] = length 1058, hash B3646F35
buffers[54] = length 675, hash 119697F5
buffers[55] = length 997, hash D545FB46
buffers[56] = length 685, hash F047293D
buffers[57] = length 734, hash EC9DAC21
buffers[58] = length 859, hash B90A4269
buffers[59] = length 760, hash 88D61733
buffers[60] = length 1135, hash F7F5C800
buffers[61] = length 606, hash B8EC917D
buffers[62] = length 972, hash AFDDB2F3
buffers[63] = length 738, hash 6DC4AED6
buffers[64] = length 705, hash A663DB5
buffers[65] = length 798, hash 30B04936
buffers[66] = length 918, hash 1EB1F2B3
buffers[67] = length 748, hash EA6C4D06
buffers[68] = length 889, hash E5EFA513
buffers[69] = length 731, hash 1AB901F8
buffers[70] = length 803, hash 6BAA963C
buffers[71] = length 921, hash BA37A6B6
buffers[72] = length 1024, hash A9C805C7
buffers[73] = length 494, hash A6C0C1B2
buffers[74] = length 1400, hash 2287A7CF
buffers[75] = length 429, hash ABDCC827
buffers[76] = length 1377, hash CD2B3EBA
buffers[77] = length 563, hash FA6638F5
buffers[78] = length 489, hash 6B15C453
buffers[79] = length 1395, hash 8B44582D
buffers[80] = length 367, hash 1094C45C
buffers[81] = length 1427, hash 476F6455
buffers[82] = length 0, hash 1
testdata/src/test/assets/playbackdumps/vp9/invalid-bitstream.webm.dump
0 → 100644
View file @
cbd91999
MediaCodec (video/x-vnd.on2.vp9):
buffers.length = 52
buffers[0] = length 17828, hash 64E34D2F
buffers[1] = length 51, hash 5A1B8385
buffers[2] = length 254, hash 575105A5
buffers[3] = length 342, hash 6B055BD4
buffers[4] = length 335, hash F904CBC8
buffers[5] = length 334, hash F43B3237
buffers[6] = length 258, hash A017022F
buffers[7] = length 1135, hash 41096949
buffers[8] = length 602, hash C643AFC4
buffers[9] = length 478, hash D339CAFA
buffers[10] = length 591, hash AF60E428
buffers[11] = length 577, hash 8A598896
buffers[12] = length 496, hash 5A381CED
buffers[13] = length 614, hash C7ACEA2
buffers[14] = length 498, hash C4D430D8
buffers[15] = length 423, hash BF7565AE
buffers[16] = length 355, hash 67B19C3A
buffers[17] = length 2004, hash D3A28F8D
buffers[18] = length 319, hash D2AE1A26
buffers[19] = length 544, hash 6672203F
buffers[20] = length 265, hash B6273EEA
buffers[21] = length 387, hash 536D5C4C
buffers[22] = length 835, hash 4151EC39
buffers[23] = length 323, hash 388D1332
buffers[24] = length 331, hash BB845272
buffers[25] = length 453, hash BB524F83
buffers[26] = length 1678, hash C4C3029F
buffers[27] = length 349, hash 722F6EA5
buffers[28] = length 362, hash 7C261649
buffers[29] = length 354, hash 1C0B6E1B
buffers[30] = length 442, hash EEA0BEBA
buffers[31] = length 841, hash CA8E17DF
buffers[32] = length 270, hash 30E44750
buffers[33] = length 515, hash 3DF64E3F
buffers[34] = length 1334, hash 91475436
buffers[35] = length 259, hash DB6AB4F7
buffers[36] = length 358, hash B48F6BA4
buffers[37] = length 310, hash D44CD0B1
buffers[38] = length 429, hash 193EFB03
buffers[39] = length 853, hash 199DE714
buffers[40] = length 514, hash 50A0C7E4
buffers[41] = length 494, hash BC72BF6E
buffers[42] = length 888, hash F2CD52E2
buffers[43] = length 426, hash 26457D2C
buffers[44] = length 485, hash C807DBB
buffers[45] = length 449, hash 3B44AE53
buffers[46] = length 503, hash FD1A91A3
buffers[47] = length 1017, hash 96FBA2FA
buffers[48] = length 317, hash 571D2938
buffers[49] = length 238, hash 8D1B5E68
buffers[50] = length 1477, hash 3DE95602
buffers[51] = length 0, hash 1
testdata/src/test/assets/playbackdumps/vp9/roadtrip-vp92-10bit.webm.dump
0 → 100644
View file @
cbd91999
MediaCodec (video/x-vnd.on2.vp9):
buffers.length = 81
buffers[0] = length 2673, hash 35AEF916
buffers[1] = length 5013, hash 3F74CFB8
buffers[2] = length 410, hash 7968D37
buffers[3] = length 768, hash F6447190
buffers[4] = length 630, hash 867A116C
buffers[5] = length 652, hash 3F71264E
buffers[6] = length 280, hash 9F01C36A
buffers[7] = length 459, hash B7EF7C95
buffers[8] = length 426, hash E3787BD6
buffers[9] = length 383, hash 379EEC2F
buffers[10] = length 358, hash EE661625
buffers[11] = length 361, hash 4F23D5EC
buffers[12] = length 322, hash AE6B8711
buffers[13] = length 93, hash B22E7607
buffers[14] = length 4818, hash 5FDA8F99
buffers[15] = length 431, hash A7A2572
buffers[16] = length 443, hash 620B58D4
buffers[17] = length 400, hash 837F3F3E
buffers[18] = length 475, hash 4145A530
buffers[19] = length 425, hash 4832CA81
buffers[20] = length 471, hash DD97E54
buffers[21] = length 409, hash CC2B93A5
buffers[22] = length 377, hash 7C8E856
buffers[23] = length 393, hash EA7F1EF3
buffers[24] = length 374, hash 16D8AE4F
buffers[25] = length 342, hash 62066EA0
buffers[26] = length 309, hash A29E204
buffers[27] = length 257, hash B4115850
buffers[28] = length 133, hash 67A871FE
buffers[29] = length 1509, hash 8B9F3F08
buffers[30] = length 311, hash A8BAEC79
buffers[31] = length 363, hash DB890218
buffers[32] = length 357, hash 67A8435D
buffers[33] = length 333, hash 38DBDEEA
buffers[34] = length 319, hash 20121DD2
buffers[35] = length 268, hash CB27F791
buffers[36] = length 72, hash DB77BC41
buffers[37] = length 2590, hash F13AD144
buffers[38] = length 325, hash 25689FF4
buffers[39] = length 443, hash 86D58034
buffers[40] = length 459, hash BE8EA85A
buffers[41] = length 464, hash AC45359D
buffers[42] = length 478, hash 9DF43BCB
buffers[43] = length 390, hash 47EE958D
buffers[44] = length 343, hash 83D39070
buffers[45] = length 87, hash DF45BCB1
buffers[46] = length 9655, hash CC481976
buffers[47] = length 7854, hash DA933E72
buffers[48] = length 1746, hash E25C46AB
buffers[49] = length 2019, hash 39C2D0C
buffers[50] = length 2079, hash C98E0DB1
buffers[51] = length 2092, hash 6B944554
buffers[52] = length 2243, hash 5F36FB0F
buffers[53] = length 2407, hash 2F58E0FA
buffers[54] = length 2484, hash F3A19F31
buffers[55] = length 2490, hash 18EB7DFE
buffers[56] = length 2501, hash 1C7304F3
buffers[57] = length 2304, hash A8A5AE14
buffers[58] = length 1773, hash 2413EA3A
buffers[59] = length 22, hash C8D9EF35
buffers[60] = length 6216, hash E546B988
buffers[61] = length 2275, hash D1DA8420
buffers[62] = length 2354, hash 76B4270
buffers[63] = length 2148, hash 2C75215E
buffers[64] = length 2060, hash 1A938209
buffers[65] = length 1680, hash 1EEF4344
buffers[66] = length 25, hash 797DB048
buffers[67] = length 5343, hash CCF05351
buffers[68] = length 1716, hash 6C9FB973
buffers[69] = length 1882, hash 654A280
buffers[70] = length 1872, hash 9A40CEAE
buffers[71] = length 1797, hash F21739B0
buffers[72] = length 1619, hash 515E799
buffers[73] = length 1448, hash 61A57499
buffers[74] = length 1234, hash 43AD6895
buffers[75] = length 48, hash E84CF63C
buffers[76] = length 5807, hash D7B3B47F
buffers[77] = length 5222, hash 663BA03A
buffers[78] = length 773, hash 1E0E52F8
buffers[79] = length 807, hash 6D656F9B
buffers[80] = 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