зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
eb19bf64a5
Коммит
a237e462ec
|
@ -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>
|
Загрузка…
Ссылка в новой задаче