Backed out 2 changesets (bug 1487797) for introducing regressions a=backout

Backed out changeset e9549537063a (bug 1487797)
Backed out changeset c629e51dda10 (bug 1487797)

--HG--
extra : rebase_source : dc2c88cdc5db487786a53d997ad28199992cc69c
This commit is contained in:
Noemi Erli 2018-10-16 00:23:11 +03:00
Родитель 05f0ad659c
Коммит eb80f3addd
2 изменённых файлов: 2 добавлений и 31 удалений

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

@ -62,9 +62,8 @@ ReaderProxy::OnAudioDataRequestCompleted(RefPtr<AudioData> aAudio)
int64_t offset =
StartTime().ToMicroseconds() - mLoopingOffset.ToMicroseconds();
aAudio->AdjustForStartTime(offset);
if (aAudio->mTime.IsValid() && aAudio->GetEndTime().IsValid() &&
CorrectTimeOfAudioDataIfNeeded(aAudio)) {
UpdateLastAudioEndTime(aAudio);
if (aAudio->mTime.IsValid()) {
mLastAudioEndTime = aAudio->mTime;
return AudioDataPromise::CreateAndResolve(aAudio.forget(), __func__);
}
return AudioDataPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_OVERFLOW_ERR,
@ -115,28 +114,6 @@ ReaderProxy::OnAudioDataRequestFailed(const MediaResult& aError)
});
}
bool
ReaderProxy::CorrectTimeOfAudioDataIfNeeded(const RefPtr<AudioData>& aAudio)
{
MOZ_ASSERT(aAudio->mTime.IsValid() && mLastAudioEndTime.IsValid());
// The start time of the current audio data should be greater than the end
// time of the previous audio data.
if (aAudio->mTime < mLastAudioEndTime) {
aAudio->mTime = mLastAudioEndTime;
}
return aAudio->GetEndTime().IsValid();
}
void
ReaderProxy::UpdateLastAudioEndTime(const AudioData* aAudio)
{
MOZ_ASSERT(aAudio);
MOZ_ASSERT(aAudio->GetEndTime().IsValid() && mLastAudioEndTime.IsValid());
// Make sure the end time of the audio data are non-decreasing.
MOZ_ASSERT(aAudio->GetEndTime() >= mLastAudioEndTime);
mLastAudioEndTime = aAudio->GetEndTime();
}
RefPtr<ReaderProxy::AudioDataPromise>
ReaderProxy::RequestAudioData()
{

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

@ -100,12 +100,6 @@ private:
RefPtr<ReaderProxy::AudioDataPromise> OnAudioDataRequestFailed(
const MediaResult& aError);
// Make sure the timestamp of the audio data increase monotonically by
// adjusting it according to mLastAudioEndTime. Returns true if the
// endtime is valid after correction and false otherwise.
bool CorrectTimeOfAudioDataIfNeeded(const RefPtr<AudioData>& aAudio);
void UpdateLastAudioEndTime(const AudioData* aAudio);
const RefPtr<AbstractThread> mOwnerThread;
const RefPtr<MediaFormatReader> mReader;