Backed out 2 changesets (bug 1342913) for failures in test_ChangeWhileWaitingOnMissingData_mp4.html a=backout

Backed out changeset f770cf70a30e (bug 1342913)
Backed out changeset 7fc8016ace00 (bug 1342913)

MozReview-Commit-ID: GfZmkx9mvoZ
This commit is contained in:
Wes Kocher 2017-03-09 11:07:18 -08:00
Родитель eb19bf64a5
Коммит a237e462ec
4 изменённых файлов: 2 добавлений и 63 удалений

Просмотреть файл

@ -2144,16 +2144,6 @@ MediaFormatReader::Update(TrackType aTrack)
return;
}
if (decoder.HasWaitingPromise() && decoder.HasCompletedDrain()) {
// This situation will occur when a change of stream ID occurred during
// internal seeking following a gap encountered in the data, a drain was
// requested and has now completed. We need to complete the draining process
// so that the new data can be processed.
// We can complete the draining operation now as we have no pending
// operation when a waiting promise is pending.
decoder.mDrainState = DrainState::None;
}
if (UpdateReceivedNewData(aTrack)) {
LOGV("Nothing more to do");
return;
@ -2240,7 +2230,8 @@ MediaFormatReader::Update(TrackType aTrack)
LOG("Rejecting %s promise: DECODE_ERROR", TrackTypeToStr(aTrack));
decoder.RejectPromise(decoder.mError.ref(), __func__);
return;
} else if (decoder.HasCompletedDrain()) {
} else if (decoder.mDrainState == DrainState::DrainCompleted
|| decoder.mDrainState == DrainState::DrainAborted) {
if (decoder.mDemuxEOS) {
LOG("Rejecting %s promise: EOS", TrackTypeToStr(aTrack));
decoder.RejectPromise(NS_ERROR_DOM_MEDIA_END_OF_STREAM, __func__);

Просмотреть файл

@ -263,11 +263,6 @@ private:
{
return mDrainState != DrainState::None;
}
bool HasCompletedDrain() const
{
return mDrainState == DrainState::DrainCompleted ||
mDrainState == DrainState::DrainAborted;
}
void RequestDrain()
{
MOZ_RELEASE_ASSERT(mDrainState == DrainState::None);

Просмотреть файл

@ -56,8 +56,6 @@ skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not
skip-if = toolkit == 'android' #timeout android bug 1199531
[test_BufferingWait_mp4.html]
skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not supported on xp and android 2.3
[test_ChangeWhileWaitingOnMissingData_mp4.html]
skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not supported on xp and android 2.3
[test_DrainOnMissingData_mp4.html]
skip-if = ((os == "win" && os_version == "5.1") || (toolkit == 'android')) # Not supported on xp and android 2.3
[test_DurationChange.html]

Просмотреть файл

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>MSE: resume from waiting even after format change occurred</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="mediasource.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<pre id="test"><script class="testbody" type="text/javascript">
SimpleTest.waitForExplicitFinish();
runWithMSE(function(ms, el) {
el.controls = true;
once(ms, 'sourceopen').then(function() {
ok(true, "Receive a sourceopen event");
var sb = ms.addSourceBuffer("video/mp4");
fetchAndLoad(sb, 'bipbop/bipbop_480_624kbps-video', ['init'], '.mp4')
.then(fetchAndLoad.bind(null, sb, 'bipbop/bipbop_480_624kbps-video', range(1, 3), '.m4s'))
.then(function() {
el.play();
// let seek to the last audio frame.
// The seek will complete and then playback will stall.
el.currentTime = 1.532517;
return Promise.all([once(el, 'seeked'), once(el, 'stalled')]);
})
.then(function() {
info("seek completed");
return fetchAndLoad(sb, 'bipbop/bipbop', ['init'], '.mp4');
})
.then(fetchAndLoad.bind(null, sb, 'bipbop/bipbop', range(1, 4), '.m4s'))
.then(function() {
ms.endOfStream();
return once(el, 'ended');
}).then(function() {
SimpleTest.finish();
});
});
});
</script>
</pre>
</body>
</html>