Skip to content

Commit a82c98f

Browse files
committed
test: Update and add Dolby Vision p8.1 and p8.4 tests (#8885)
1 parent 442aaa8 commit a82c98f

14 files changed

+313
-64
lines changed

karma.conf.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ module.exports = (config) => {
264264
{pattern: 'test/test/assets/dash-clearkey/*', included: false},
265265
{pattern: 'test/test/assets/dash-mpd-alternate/*', included: false},
266266
{pattern: 'test/test/assets/dash-vr/*', included: false},
267-
{pattern: 'test/test/assets/dv-p8-hevc/*', included: false},
267+
{pattern: 'test/test/assets/dv-p8-1-hevc/*', included: false},
268+
{pattern: 'test/test/assets/dv-p8-4-hevc/*', included: false},
268269
{pattern: 'test/test/assets/dv-p10-av1/*', included: false},
269270
{pattern: 'test/test/assets/hls-aes-256/*', included: false},
270271
{pattern: 'test/test/assets/hls-interstitial/*', included: false},

test/player_dolby_vision_integration.js

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -76,44 +76,55 @@ describe('Player Dolby Vision', () => {
7676
await player.unload();
7777
}
7878

79-
describe('P8 with fallback to HEVC', () => {
79+
describe('P8.1 with fallback to HEVC', () => {
8080
it('with DASH', async () => {
81-
// This tests is flaky in Safari, so we need omit it for now.
82-
if (deviceDetected.getBrowserEngine() ===
83-
shaka.device.IDevice.BrowserEngine.WEBKIT) {
84-
pending('Disabled on Safari.');
85-
}
86-
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
87-
/* width= */ 640, /* height= */ 360)) {
81+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
82+
/* width= */ 854, /* height= */ 480)) {
8883
pending('Codec HEVC is not supported by the platform.');
8984
}
90-
await testPlayback('/base/test/test/assets/dv-p8-hevc/manifest.mpd');
85+
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/manifest.mpd');
9186
});
9287

9388
it('with master playlist (HLS)', async () => {
94-
// This tests is flaky in Safari, so we need omit it for now.
95-
if (deviceDetected.getBrowserEngine() ===
96-
shaka.device.IDevice.BrowserEngine.WEBKIT) {
97-
pending('Disabled on Safari.');
98-
}
99-
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
100-
/* width= */ 640, /* height= */ 360)) {
89+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
90+
/* width= */ 854, /* height= */ 480)) {
10191
pending('Codec HEVC is not supported by the platform.');
10292
}
103-
await testPlayback('/base/test/test/assets/dv-p8-hevc/master.m3u8');
93+
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/master.m3u8');
10494
});
10595

10696
it('with media playlist (HLS)', async () => {
107-
// This tests is flaky in Safari, so we need omit it for now.
108-
if (deviceDetected.getBrowserEngine() ===
109-
shaka.device.IDevice.BrowserEngine.WEBKIT) {
110-
pending('Disabled on Safari.');
97+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
98+
/* width= */ 854, /* height= */ 480)) {
99+
pending('Codec HEVC is not supported by the platform.');
111100
}
112-
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.90"',
113-
/* width= */ 640, /* height= */ 360)) {
101+
await testPlayback('/base/test/test/assets/dv-p8-1-hevc/media.m3u8');
102+
});
103+
});
104+
105+
describe('P8.4 with fallback to HEVC', () => {
106+
it('with DASH', async () => {
107+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
108+
/* width= */ 854, /* height= */ 480)) {
109+
pending('Codec HEVC is not supported by the platform.');
110+
}
111+
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/manifest.mpd');
112+
});
113+
114+
it('with master playlist (HLS)', async () => {
115+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
116+
/* width= */ 854, /* height= */ 480)) {
117+
pending('Codec HEVC is not supported by the platform.');
118+
}
119+
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/master.m3u8');
120+
});
121+
122+
it('with media playlist (HLS)', async () => {
123+
if (!await Util.isTypeSupported('video/mp4; codecs="hvc1.2.4.L90.b0"',
124+
/* width= */ 854, /* height= */ 480)) {
114125
pending('Codec HEVC is not supported by the platform.');
115126
}
116-
await testPlayback('/base/test/test/assets/dv-p8-hevc/media.m3u8');
127+
await testPlayback('/base/test/test/assets/dv-p8-4-hevc/media.m3u8');
117128
});
118129
});
119130

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" ?>
2+
<MPD xmlns:scte214="urn:scte:dash:scte214-extensions" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT1.98S" mediaPresentationDuration="PT1M11.708S" type="static">
3+
<Period>
4+
<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="854" maxHeight="480" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
5+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:MatrixCoefficients" value="9"/>
6+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:ColourPrimaries" value="9"/>
7+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:TransferCharacteristics" value="16"/>
8+
<Representation id="video-hvc1-dvh1-db1p-1" codecs="hvc1.2.4.L90.b0" width="854" height="480" scanType="progressive" frameRate="24" bandwidth="1064693" scte214:supplementalCodecs="dvh1.08.01" scte214:supplementalProfiles="db1p">
9+
<BaseURL>media-video-hvc1-dvh1-db1p-1.mp4</BaseURL>
10+
<SegmentBase indexRange="803-1266">
11+
<Initialization range="0-802"/>
12+
</SegmentBase>
13+
</Representation>
14+
</AdaptationSet>
15+
</Period>
16+
</MPD>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#EXTM3U
2+
#EXT-X-VERSION:6
3+
4+
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1838396,BANDWIDTH=2452151,VIDEO-RANGE=PQ,CODECS="hvc1.2.4.L90.b0",SUPPLEMENTAL-CODECS="dvh1.08.01/db1p",RESOLUTION=854x480,FRAME-RATE=24.000
5+
media.m3u8
6+
Binary file not shown.
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
#EXTM3U
2+
#EXT-X-VERSION:6
3+
#EXT-X-PLAYLIST-TYPE:VOD
4+
#EXT-X-INDEPENDENT-SEGMENTS
5+
#EXT-X-TARGETDURATION:2
6+
#EXT-X-MEDIA-SEQUENCE:0
7+
#EXT-X-MAP:URI="media-video-hvc1-dvh1-db1p-1.mp4",BYTERANGE="803@0"
8+
#EXTINF:2.0,
9+
#EXT-X-BYTERANGE:147761@1267
10+
media-video-hvc1-dvh1-db1p-1.mp4
11+
#EXTINF:2.0,
12+
#EXT-X-BYTERANGE:373348@149028
13+
media-video-hvc1-dvh1-db1p-1.mp4
14+
#EXTINF:2.0,
15+
#EXT-X-BYTERANGE:235007@522376
16+
media-video-hvc1-dvh1-db1p-1.mp4
17+
#EXTINF:2.0,
18+
#EXT-X-BYTERANGE:167214@757383
19+
media-video-hvc1-dvh1-db1p-1.mp4
20+
#EXTINF:2.0,
21+
#EXT-X-BYTERANGE:248474@924597
22+
media-video-hvc1-dvh1-db1p-1.mp4
23+
#EXTINF:2.0,
24+
#EXT-X-BYTERANGE:204967@1173071
25+
media-video-hvc1-dvh1-db1p-1.mp4
26+
#EXTINF:2.0,
27+
#EXT-X-BYTERANGE:220221@1378038
28+
media-video-hvc1-dvh1-db1p-1.mp4
29+
#EXTINF:2.0,
30+
#EXT-X-BYTERANGE:125162@1598259
31+
media-video-hvc1-dvh1-db1p-1.mp4
32+
#EXTINF:2.0,
33+
#EXT-X-BYTERANGE:420675@1723421
34+
media-video-hvc1-dvh1-db1p-1.mp4
35+
#EXTINF:2.0,
36+
#EXT-X-BYTERANGE:313141@2144096
37+
media-video-hvc1-dvh1-db1p-1.mp4
38+
#EXTINF:2.0,
39+
#EXT-X-BYTERANGE:224407@2457237
40+
media-video-hvc1-dvh1-db1p-1.mp4
41+
#EXTINF:2.0,
42+
#EXT-X-BYTERANGE:279462@2681644
43+
media-video-hvc1-dvh1-db1p-1.mp4
44+
#EXTINF:2.0,
45+
#EXT-X-BYTERANGE:268589@2961106
46+
media-video-hvc1-dvh1-db1p-1.mp4
47+
#EXTINF:2.0,
48+
#EXT-X-BYTERANGE:275680@3229695
49+
media-video-hvc1-dvh1-db1p-1.mp4
50+
#EXTINF:2.0,
51+
#EXT-X-BYTERANGE:294998@3505375
52+
media-video-hvc1-dvh1-db1p-1.mp4
53+
#EXTINF:2.0,
54+
#EXT-X-BYTERANGE:211946@3800373
55+
media-video-hvc1-dvh1-db1p-1.mp4
56+
#EXTINF:2.0,
57+
#EXT-X-BYTERANGE:360862@4012319
58+
media-video-hvc1-dvh1-db1p-1.mp4
59+
#EXTINF:2.0,
60+
#EXT-X-BYTERANGE:262217@4373181
61+
media-video-hvc1-dvh1-db1p-1.mp4
62+
#EXTINF:2.0,
63+
#EXT-X-BYTERANGE:266134@4635398
64+
media-video-hvc1-dvh1-db1p-1.mp4
65+
#EXTINF:2.0,
66+
#EXT-X-BYTERANGE:127815@4901532
67+
media-video-hvc1-dvh1-db1p-1.mp4
68+
#EXTINF:2.0,
69+
#EXT-X-BYTERANGE:308085@5029347
70+
media-video-hvc1-dvh1-db1p-1.mp4
71+
#EXTINF:2.0,
72+
#EXT-X-BYTERANGE:246452@5337432
73+
media-video-hvc1-dvh1-db1p-1.mp4
74+
#EXTINF:2.0,
75+
#EXT-X-BYTERANGE:325030@5583884
76+
media-video-hvc1-dvh1-db1p-1.mp4
77+
#EXTINF:2.0,
78+
#EXT-X-BYTERANGE:348980@5908914
79+
media-video-hvc1-dvh1-db1p-1.mp4
80+
#EXTINF:2.0,
81+
#EXT-X-BYTERANGE:322260@6257894
82+
media-video-hvc1-dvh1-db1p-1.mp4
83+
#EXTINF:2.0,
84+
#EXT-X-BYTERANGE:282051@6580154
85+
media-video-hvc1-dvh1-db1p-1.mp4
86+
#EXTINF:2.0,
87+
#EXT-X-BYTERANGE:269484@6862205
88+
media-video-hvc1-dvh1-db1p-1.mp4
89+
#EXTINF:2.0,
90+
#EXT-X-BYTERANGE:239549@7131689
91+
media-video-hvc1-dvh1-db1p-1.mp4
92+
#EXTINF:2.0,
93+
#EXT-X-BYTERANGE:281255@7371238
94+
media-video-hvc1-dvh1-db1p-1.mp4
95+
#EXTINF:2.0,
96+
#EXT-X-BYTERANGE:276360@7652493
97+
media-video-hvc1-dvh1-db1p-1.mp4
98+
#EXTINF:2.0,
99+
#EXT-X-BYTERANGE:294060@7928853
100+
media-video-hvc1-dvh1-db1p-1.mp4
101+
#EXTINF:2.0,
102+
#EXT-X-BYTERANGE:285026@8222913
103+
media-video-hvc1-dvh1-db1p-1.mp4
104+
#EXTINF:2.0,
105+
#EXT-X-BYTERANGE:258287@8507939
106+
media-video-hvc1-dvh1-db1p-1.mp4
107+
#EXTINF:2.0,
108+
#EXT-X-BYTERANGE:264712@8766226
109+
media-video-hvc1-dvh1-db1p-1.mp4
110+
#EXTINF:2.0,
111+
#EXT-X-BYTERANGE:311957@9030938
112+
media-video-hvc1-dvh1-db1p-1.mp4
113+
#EXTINF:1.7083333333333333,
114+
#EXT-X-BYTERANGE:240252@9342895
115+
media-video-hvc1-dvh1-db1p-1.mp4
116+
#EXT-X-ENDLIST
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" ?>
2+
<MPD xmlns:scte214="urn:scte:dash:scte214-extensions" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" minBufferTime="PT1.98S" mediaPresentationDuration="PT1M11.708S" type="static">
3+
<Period>
4+
<AdaptationSet mimeType="video/mp4" segmentAlignment="true" startWithSAP="1" maxWidth="854" maxHeight="480" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
5+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:MatrixCoefficients" value="9"/>
6+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:ColourPrimaries" value="9"/>
7+
<EssentialProperty schemeIdUri="urn:mpeg:mpegB:cicp:TransferCharacteristics" value="18"/>
8+
<Representation id="video-hvc1-dvh1-db4h-1" codecs="hvc1.2.4.L90.b0" width="854" height="480" scanType="progressive" frameRate="24" bandwidth="1216343" scte214:supplementalCodecs="dvh1.08.01" scte214:supplementalProfiles="db4h">
9+
<BaseURL>media-video-hvc1-dvh1-db4h-1.mp4</BaseURL>
10+
<SegmentBase indexRange="803-1266">
11+
<Initialization range="0-802"/>
12+
</SegmentBase>
13+
</Representation>
14+
</AdaptationSet>
15+
</Period>
16+
</MPD>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#EXTM3U
2+
#EXT-X-VERSION:6
3+
4+
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1923345,BANDWIDTH=2596247,VIDEO-RANGE=HLG,CODECS="hvc1.2.4.L90.b0",SUPPLEMENTAL-CODECS="dvh1.08.01/db4h",RESOLUTION=854x480,FRAME-RATE=24.000
5+
media.m3u8
6+
Binary file not shown.
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
#EXTM3U
2+
#EXT-X-VERSION:6
3+
#EXT-X-PLAYLIST-TYPE:VOD
4+
#EXT-X-INDEPENDENT-SEGMENTS
5+
#EXT-X-TARGETDURATION:2
6+
#EXT-X-MEDIA-SEQUENCE:0
7+
#EXT-X-MAP:URI="media-video-hvc1-dvh1-db4h-1.mp4",BYTERANGE="803@0"
8+
#EXTINF:2.0,
9+
#EXT-X-BYTERANGE:153844@1267
10+
media-video-hvc1-dvh1-db4h-1.mp4
11+
#EXTINF:2.0,
12+
#EXT-X-BYTERANGE:456699@155111
13+
media-video-hvc1-dvh1-db4h-1.mp4
14+
#EXTINF:2.0,
15+
#EXT-X-BYTERANGE:246051@611810
16+
media-video-hvc1-dvh1-db4h-1.mp4
17+
#EXTINF:2.0,
18+
#EXT-X-BYTERANGE:195835@857861
19+
media-video-hvc1-dvh1-db4h-1.mp4
20+
#EXTINF:2.0,
21+
#EXT-X-BYTERANGE:356029@1053696
22+
media-video-hvc1-dvh1-db4h-1.mp4
23+
#EXTINF:2.0,
24+
#EXT-X-BYTERANGE:317115@1409725
25+
media-video-hvc1-dvh1-db4h-1.mp4
26+
#EXTINF:2.0,
27+
#EXT-X-BYTERANGE:326891@1726840
28+
media-video-hvc1-dvh1-db4h-1.mp4
29+
#EXTINF:2.0,
30+
#EXT-X-BYTERANGE:278860@2053731
31+
media-video-hvc1-dvh1-db4h-1.mp4
32+
#EXTINF:2.0,
33+
#EXT-X-BYTERANGE:343275@2332591
34+
media-video-hvc1-dvh1-db4h-1.mp4
35+
#EXTINF:2.0,
36+
#EXT-X-BYTERANGE:280327@2675866
37+
media-video-hvc1-dvh1-db4h-1.mp4
38+
#EXTINF:2.0,
39+
#EXT-X-BYTERANGE:240732@2956193
40+
media-video-hvc1-dvh1-db4h-1.mp4
41+
#EXTINF:2.0,
42+
#EXT-X-BYTERANGE:285732@3196925
43+
media-video-hvc1-dvh1-db4h-1.mp4
44+
#EXTINF:2.0,
45+
#EXT-X-BYTERANGE:296438@3482657
46+
media-video-hvc1-dvh1-db4h-1.mp4
47+
#EXTINF:2.0,
48+
#EXT-X-BYTERANGE:270908@3779095
49+
media-video-hvc1-dvh1-db4h-1.mp4
50+
#EXTINF:2.0,
51+
#EXT-X-BYTERANGE:286894@4050003
52+
media-video-hvc1-dvh1-db4h-1.mp4
53+
#EXTINF:2.0,
54+
#EXT-X-BYTERANGE:266030@4336897
55+
media-video-hvc1-dvh1-db4h-1.mp4
56+
#EXTINF:2.0,
57+
#EXT-X-BYTERANGE:313235@4602927
58+
media-video-hvc1-dvh1-db4h-1.mp4
59+
#EXTINF:2.0,
60+
#EXT-X-BYTERANGE:283133@4916162
61+
media-video-hvc1-dvh1-db4h-1.mp4
62+
#EXTINF:2.0,
63+
#EXT-X-BYTERANGE:280634@5199295
64+
media-video-hvc1-dvh1-db4h-1.mp4
65+
#EXTINF:2.0,
66+
#EXT-X-BYTERANGE:156462@5479929
67+
media-video-hvc1-dvh1-db4h-1.mp4
68+
#EXTINF:2.0,
69+
#EXT-X-BYTERANGE:380950@5636391
70+
media-video-hvc1-dvh1-db4h-1.mp4
71+
#EXTINF:2.0,
72+
#EXT-X-BYTERANGE:275291@6017341
73+
media-video-hvc1-dvh1-db4h-1.mp4
74+
#EXTINF:2.0,
75+
#EXT-X-BYTERANGE:323806@6292632
76+
media-video-hvc1-dvh1-db4h-1.mp4
77+
#EXTINF:2.0,
78+
#EXT-X-BYTERANGE:288119@6616438
79+
media-video-hvc1-dvh1-db4h-1.mp4
80+
#EXTINF:2.0,
81+
#EXT-X-BYTERANGE:326928@6904557
82+
media-video-hvc1-dvh1-db4h-1.mp4
83+
#EXTINF:2.0,
84+
#EXT-X-BYTERANGE:282287@7231485
85+
media-video-hvc1-dvh1-db4h-1.mp4
86+
#EXTINF:2.0,
87+
#EXT-X-BYTERANGE:263574@7513772
88+
media-video-hvc1-dvh1-db4h-1.mp4
89+
#EXTINF:2.0,
90+
#EXT-X-BYTERANGE:257376@7777346
91+
media-video-hvc1-dvh1-db4h-1.mp4
92+
#EXTINF:2.0,
93+
#EXT-X-BYTERANGE:313334@8034722
94+
media-video-hvc1-dvh1-db4h-1.mp4
95+
#EXTINF:2.0,
96+
#EXT-X-BYTERANGE:291588@8348056
97+
media-video-hvc1-dvh1-db4h-1.mp4
98+
#EXTINF:2.0,
99+
#EXT-X-BYTERANGE:284188@8639644
100+
media-video-hvc1-dvh1-db4h-1.mp4
101+
#EXTINF:2.0,
102+
#EXT-X-BYTERANGE:297618@8923832
103+
media-video-hvc1-dvh1-db4h-1.mp4
104+
#EXTINF:2.0,
105+
#EXT-X-BYTERANGE:272532@9221450
106+
media-video-hvc1-dvh1-db4h-1.mp4
107+
#EXTINF:2.0,
108+
#EXT-X-BYTERANGE:309649@9493982
109+
media-video-hvc1-dvh1-db4h-1.mp4
110+
#EXTINF:2.0,
111+
#EXT-X-BYTERANGE:314188@9803631
112+
media-video-hvc1-dvh1-db4h-1.mp4
113+
#EXTINF:1.7083333333333333,
114+
#EXT-X-BYTERANGE:226776@10117819
115+
media-video-hvc1-dvh1-db4h-1.mp4
116+
#EXT-X-ENDLIST

0 commit comments

Comments
 (0)