Skip to content

Commit

Permalink
fix(FEC-10469): pre-roll Ad for playlist displays for each second med…
Browse files Browse the repository at this point in the history
…ia instead of for each one (#367)

Issue: No pre-roll Ad displays for second media.
Solution: Player should notify ad controller that media is ended as we do for ads with post-rolls, used promise implementation on playback ended.
  • Loading branch information
Yuvalke committed Oct 28, 2020
1 parent a58bde4 commit c3a52cd
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions src/common/controllers/ads-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -322,19 +322,18 @@ class AdsController extends FakeEventTarget implements IAdsController {
if (this._adIsLoading) {
return;
}
const bumperCtrl = this._adsPluginControllers.find(controller => this._isBumper(controller));
const adCtrl = this._adsPluginControllers.find(controller => !this._isBumper(controller));
const bumperCompletePromise = bumperCtrl && typeof bumperCtrl.onPlaybackEnded === 'function' ? bumperCtrl.onPlaybackEnded() : Promise.resolve();
const adCompletePromise = adCtrl && typeof adCtrl.onPlaybackEnded === 'function' ? adCtrl.onPlaybackEnded() : Promise.resolve();
if (!(this._adBreaksLayout.includes(-1) || this._adBreaksLayout.includes('100%'))) {
this._allAdsCompleted = true;
} else {
const bumperCtrl = this._adsPluginControllers.find(controller => this._isBumper(controller));
const adCtrl = this._adsPluginControllers.find(controller => !this._isBumper(controller));
const bumperCompletePromise = bumperCtrl ? bumperCtrl.onPlaybackEnded() : Promise.resolve();
const playbackEndedHandler = () => this._handleConfiguredPostroll();
// $FlowFixMe
bumperCompletePromise.finally(() => {
adCtrl &&
// $FlowFixMe
adCtrl.onPlaybackEnded().finally(() => {
this._handleConfiguredPostroll();
});
// $FlowFixMe
adCompletePromise.finally(playbackEndedHandler);
});
}
}
Expand Down

0 comments on commit c3a52cd

Please sign in to comment.