Skip to content

Commit

Permalink
Player Load Minor Code Health Fixes
Browse files Browse the repository at this point in the history
Changed some things in Player load to better align with our
coding guidelines.

Change-Id: Ib7730be4cc10483c467d2d5cc4aa22711c41490b
  • Loading branch information
vaage committed Sep 4, 2018
1 parent db77c05 commit b5637db
Showing 1 changed file with 17 additions and 16 deletions.
33 changes: 17 additions & 16 deletions lib/player.js
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,7 @@ shaka.Player.prototype.load = async function(
let cancelValue;
/** @type {!shaka.util.PublicPromise} */
const cancelPromise = new shaka.util.PublicPromise();
const cancelCallback = function() {
const cancelCallback = () => {
cancelValue = new shaka.util.Error(
shaka.util.Error.Severity.CRITICAL,
shaka.util.Error.Category.PLAYER,
Expand All @@ -733,6 +733,8 @@ shaka.Player.prototype.load = async function(
let loadStartTime = Date.now();

try {
const video = this.video_;

const unloadPromise = this.unload();
this.onCancelLoad_ = cancelCallback;
await unloadPromise;
Expand All @@ -743,12 +745,9 @@ shaka.Player.prototype.load = async function(

this.stats_ = this.getCleanStats_();

this.eventManager_.listen(this.video_, 'playing',
this.updateState_.bind(this));
this.eventManager_.listen(this.video_, 'pause',
this.updateState_.bind(this));
this.eventManager_.listen(this.video_, 'ended',
this.updateState_.bind(this));
this.eventManager_.listen(video, 'playing', () => this.updateState_());
this.eventManager_.listen(video, 'pause', () => this.updateState_());
this.eventManager_.listen(video, 'ended', () => this.updateState_());

const AbrManagerFactory = this.config_.abrFactory;
this.abrManager_ = new AbrManagerFactory();
Expand Down Expand Up @@ -814,11 +813,13 @@ shaka.Player.prototype.load = async function(
this.config_.playRangeEnd,
this.isLive());

await this.drmEngine_.attach(this.video_);
await this.drmEngine_.attach(video);

if (cancelValue) throw cancelValue;

this.abrManager_.init(this.switch_.bind(this));
this.abrManager_.init((variant, clearBuffer, safeMargin) => {
return this.switch_(variant, clearBuffer, safeMargin);
});

if (!this.mediaSourceEngine_) {
this.mediaSourceEngine_ = this.createMediaSourceEngine();
Expand Down Expand Up @@ -870,25 +871,25 @@ shaka.Player.prototype.load = async function(
this.currentVariantRole_, this.currentAudioChannelCount_);
this.abrManager_.setVariants(variants);

let hasPrimary = currentPeriod.variants.some(function(variant) {
return variant.primary;
});
const hasPrimary = currentPeriod.variants.some((v) => v.primary);

if (!this.currentAudioLanguage_ && !hasPrimary) {
shaka.log.warning('No preferred audio language set. We will choose an ' +
'arbitrary language initially');
}

this.pendingTimelineRegions_.forEach(
this.playheadObserver_.addTimelineRegion.bind(this.playheadObserver_));
for (const region of this.pendingTimelineRegions_) {
this.playheadObserver_.addTimelineRegion(region);
}
this.pendingTimelineRegions_ = [];

// Wait for the 'loadeddata' event to measure load() latency.
this.eventManager_.listenOnce(this.video_, 'loadeddata', function() {
this.eventManager_.listenOnce(video, 'loadeddata', () => {
// Compute latency in seconds (Date.now() gives ms):
let latency = (Date.now() - loadStartTime) / 1000;
this.stats_.loadLatency = latency;
shaka.log.debug('Load latency:', latency);
}.bind(this));
});

if (cancelValue) throw cancelValue;
this.onCancelLoad_ = null;
Expand Down

0 comments on commit b5637db

Please sign in to comment.