-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathregular-playback-of-chunked-content-non-aligned-append.html
executable file
·83 lines (78 loc) · 3.24 KB
/
regular-playback-of-chunked-content-non-aligned-append.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Regular Playback of Chunked Content, non-aligned append</title>
<link rel="stylesheet" href="../lib/style.css" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="content-wrapper">
<div id="video-wrapper">
<video></video>
<div><div id="qr-code"></div></div>
<div><div id="status-text"></div></div>
</div>
<div>To show/hide debug overlay press up/down or button beneath</div>
<div id="debug-wrapper">
<div>
<div class="button" id="debug-button">Debug Overlay</div>
</div>
<div id="debug"></div>
<div id="log"></div>
</div>
</div>
<div id="info-overlay"></div>
<script src="../lib/mozilla/object-keys-polyfill.js"></script>
<script src="../lib/stefanpenner/es6-promise.min.js"></script>
<script src="../lib/player.js"></script>
<script src="../lib/manifest_parser.js"></script>
<script src="../lib/mpd-parser.js"></script>
<script src="../lib/wave-service.js"></script>
<script src="../lib/davidshimjs/qrcode.js"></script>
<script src="../lib/dpctf-testharness.js"></script>
<script src="../lib/hbbtv.js"></script>
<script>
// Global variables
var TEST_INFO = {
title: "Regular Playback of Chunked Content, non-aligned append",
description:
"Sequential Chunked Playback refers to the case that a CMAF/WAVE track is played from the beginning by providing CMAF chunks to the source buffer after initialization. Non-aligned refers to the situation where the data that is appended to the source buffer is appended progressively in pieces that do not necessarily align with the boundaries of the CMAF chunks.",
code: "{{TEMPLATE_NAME}}",
params: urlParams,
};
var video = document.querySelector("video");
var qrCode = document.getElementById("qr-code");
var statusText = document.getElementById("status-text");
var videoContentModel = "{{VIDEO_MPD_URL}}";
var audioContentModel = "{{AUDIO_MPD_URL}}";
var dpctfTest = new DpctfTest({
testInfo: TEST_INFO,
videoContentModel: videoContentModel,
audioContentModel: audioContentModel,
videoElement: video,
qrCodeElement: qrCode,
statusTextElement: statusText,
infoOverlayElement: document.getElementById("info-overlay"),
executeTest: executeTest,
concatAndSplit: true,
});
function executeTest(player, done, parameters) {
var minBufferDuration = parameters.minBufferDuration / 1000;
player.startBuffering();
player.playOnBufferLoaded(minBufferDuration).then(done);
dpctfTest.asyncTest(function (test) {
var query = location.search.replace(/\?/, "");
var match = query.match(/redirect_time=([^&]+)/);
var REDIRECT_TIME = match ? match[1] : null;
if (!REDIRECT_TIME) REDIRECT_TIME = 5;
video.addEventListener("ended", function (event) {
assert_true(true);
test.done();
});
}, "video ended event fired");
}
</script>
</body>
</html>