Bug 1146733 - remove PlayFragmented() from eme.js r=ediwn.

This commit is contained in:
JW Wang 2015-03-25 09:55:20 +08:00
parent 08529c6a80
commit 77bab63134
2 changed files with 23 additions and 93 deletions

View File

@ -156,65 +156,6 @@ function MaybeCrossOriginURI(test, uri)
}
}
function PlayFragmented(test, elem, token)
{
if (!test.fragments) {
ok(false, token + " test does not have a fragments list");
return Promise.reject();
}
return new Promise(function(resolve, reject) {
var ms = new MediaSource();
elem.src = URL.createObjectURL(ms);
var sb;
var curFragment = 0;
function addNextFragment() {
/* We can get another updateevent as a result of calling ms.endOfStream() if
the highest end time of our source buffers is different from that of the
media source duration. Due to bug 1065207 this can happen because of
inaccuracies in the frame duration calculations. Check if we are already
"ended" and ignore the update event */
if (ms.readyState == "ended") {
return;
}
if (curFragment >= test.fragments.length) {
Log(token, "addNextFragment() end of stream");
ms.endOfStream();
resolve();
return;
}
var fragmentFile = MaybeCrossOriginURI(test, test.fragments[curFragment++]);
var req = new XMLHttpRequest();
req.open("GET", fragmentFile);
req.responseType = "arraybuffer";
req.addEventListener("load", function() {
Log(token, "fetch of " + fragmentFile + " complete, appending");
sb.appendBuffer(new Uint8Array(req.response));
});
req.addEventListener("error", function(){info(token + " error fetching " + fragmentFile);});
req.addEventListener("abort", function(){info(token + " aborted fetching " + fragmentFile);});
Log(token, "addNextFragment() fetching next fragment " + fragmentFile);
req.send(null);
}
ms.addEventListener("sourceopen", function () {
Log(token, "sourceopen");
sb = ms.addSourceBuffer(test.type);
sb.addEventListener("updateend", addNextFragment);
addNextFragment();
})
});
}
function AppendTrack(test, ms, track, token)
{
return new Promise(function(resolve, reject) {
@ -275,7 +216,9 @@ function AppendTrack(test, ms, track, token)
});
}
function PlayMultiTrack(test, elem, token)
//Returns a promise that is resolved when the media element is ready to have
//its play() function called; when it's loaded MSE fragments.
function LoadTest(test, elem, token)
{
if (!test.tracks) {
ok(false, token + " test does not have a tracks list");
@ -306,27 +249,6 @@ function PlayMultiTrack(test, elem, token)
});
}
// Returns a promise that is resolved when the media element is ready to have
// its play() function called; when it's loaded MSE fragments, or once the load
// has started for non-MSE video.
function LoadTest(test, elem, token)
{
if (test.fragments) {
// A |fragments| array indicates that this is an MSE test case with one track.
return PlayFragmented(test, elem, token);
}
if (test.tracks) {
// A |tracks| array indicates that this is an MSE test case with multiple tracks.
return PlayMultiTrack(test, elem, token);
}
// This file isn't fragmented; won't set the media source normally because
// EME doesn't support non-MSE source.
ok(false, token + " test does not have a fragments or tracks list");
return Promise.reject();
}
function SetupEME(test, token, params)
{
var v = document.createElement("video");

View File

@ -648,11 +648,16 @@ var gMetadataTests = [
var gEMETests = [
{
name:"bipbop-cenc-videoinit.mp4",
type:"video/mp4; codecs=\"avc1.64000d,mp4a.40.2\"",
fragments:[ "bipbop-cenc-videoinit.mp4",
"bipbop-cenc-video1.m4s",
"bipbop-cenc-video2.m4s",
],
tracks: [
{
name:"video",
type:"video/mp4; codecs=\"avc1.64000d\"",
fragments:[ "bipbop-cenc-videoinit.mp4",
"bipbop-cenc-video1.m4s",
"bipbop-cenc-video2.m4s",
]
}
],
keys: {
// "keyid" : "key"
"7e571d037e571d037e571d037e571d03" : "7e5733337e5733337e5733337e573333",
@ -663,11 +668,16 @@ var gEMETests = [
},
{
name:"bipbop-cenc-videoinit.mp4",
type:"video/mp4; codecs=\"avc1.64000d,mp4a.40.2\"",
fragments:[ "bipbop-cenc-videoinit.mp4",
"bipbop-cenc-video1.m4s",
"bipbop-cenc-video2.m4s",
],
tracks: [
{
name:"video",
type:"video/mp4; codecs=\"avc1.64000d\"",
fragments:[ "bipbop-cenc-videoinit.mp4",
"bipbop-cenc-video1.m4s",
"bipbop-cenc-video2.m4s",
]
}
],
keys: {
// "keyid" : "key"
"7e571d037e571d037e571d037e571d03" : "7e5733337e5733337e5733337e573333",
@ -679,7 +689,6 @@ var gEMETests = [
},
{
name:"bipbop-cenc-videoinit.mp4",
type:"video/mp4; codecs=\"avc1.64000d,mp4a.40.2\"",
tracks: [
{
name:"audio",
@ -709,7 +718,6 @@ var gEMETests = [
},
{
name:"bipbop-cenc-videoinit.mp4",
type:"video/mp4; codecs=\"avc1.64000d,mp4a.40.2\"",
tracks: [
{
name:"audio",