Bug 1373888 - part5 : only request audio wake lock when it's audible. r=cpearce

No need to prevent sleeping for non-audible audio.

MozReview-Commit-ID: 6p3azSUWTU2

--HG--
extra : rebase_source : 89ff9d1753ac4a23269ec100920e18020ab5aafb
This commit is contained in:
Alastor Wu 2017-08-29 15:25:44 +08:00
Родитель 0be0a7c288
Коммит 5aaf1c6ce7
2 изменённых файлов: 8 добавлений и 4 удалений

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

@ -4172,8 +4172,11 @@ HTMLMediaElement::WakeLockBoolWrapper::UpdateWakeLock()
MOZ_ASSERT(mOuter);
bool playing = !mValue;
if (playing) {
bool isAudible = mOuter->Volume() > 0.0 &&
!mOuter->mMuted &&
mOuter->mIsAudioTrackAudible;
// when playing audible media.
if (playing && isAudible) {
mOuter->WakeLockCreate();
} else {
mOuter->WakeLockRelease();
@ -7168,6 +7171,8 @@ HTMLMediaElement::NotifyAudioPlaybackChanged(AudibleChangedReasons aReason)
if (mAudioChannelWrapper) {
mAudioChannelWrapper->NotifyAudioPlaybackChanged(aReason);
}
// only request wake lock for audible media.
mPaused.UpdateWakeLock();
}
bool

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

@ -832,9 +832,8 @@ protected:
bool operator !() const { return !mValue; }
private:
void UpdateWakeLock();
private:
bool mValue;
HTMLMediaElement* mOuter;
};