Socket
Socket
Sign inDemoInstall

@videogular/ngx-videogular

Package Overview
Dependencies
10
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.1 to 4.0.0

2

buffering/package.json

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/buffering"
}
}

@@ -7,12 +7,3 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-buffering/vg-buffering.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgBufferingComponent = /** @class */ (function () {
/**
* @param {?} ref
* @param {?} API
*/
function VgBufferingComponent(ref, API) {

@@ -27,5 +18,2 @@ this.API = API;

}
/**
* @return {?}
*/
VgBufferingComponent.prototype.ngOnInit = function () {

@@ -37,33 +25,15 @@ var _this = this;

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe(( /**
* @return {?}
*/function () { return _this.onPlayerReady(); })));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(function () { return _this.onPlayerReady(); }));
}
};
/**
* @return {?}
*/
VgBufferingComponent.prototype.onPlayerReady = function () {
var _this = this;
this.target = this.API.getMediaById(this.vgFor);
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe(( /**
* @param {?} isBuffering
* @return {?}
*/function (isBuffering) { return _this.onUpdateBuffer(isBuffering); })));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe(function (isBuffering) { return _this.onUpdateBuffer(isBuffering); }));
};
/**
* @param {?} isBuffering
* @return {?}
*/
VgBufferingComponent.prototype.onUpdateBuffer = function (isBuffering) {
this.isBuffering = isBuffering;
};
/**
* @return {?}
*/
VgBufferingComponent.prototype.ngOnDestroy = function () {
this.subscriptions.forEach(( /**
* @param {?} s
* @return {?}
*/function (s) { return s.unsubscribe(); }));
this.subscriptions.forEach(function (s) { return s.unsubscribe(); });
};

@@ -78,3 +48,3 @@ return VgBufferingComponent;

styles: ["\n vg-buffering {\n display: none;\n z-index: 201;\n }\n vg-buffering.is-buffering {\n display: block;\n }\n\n .vg-buffering {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n }\n .vg-buffering .bufferingContainer {\n width: 100%;\n position: absolute;\n cursor: pointer;\n top: 50%;\n margin-top: -50px;\n zoom: 1;\n filter: alpha(opacity=60);\n opacity: 0.6;\n }\n /* Loading Spinner\n * http://www.alessioatzeni.com/blog/css3-loading-animation-loop/\n */\n .vg-buffering .loadingSpinner {\n background-color: rgba(0, 0, 0, 0);\n border: 5px solid rgba(255, 255, 255, 1);\n opacity: 0.9;\n border-top: 5px solid rgba(0, 0, 0, 0);\n border-left: 5px solid rgba(0, 0, 0, 0);\n border-radius: 50px;\n box-shadow: 0 0 35px #ffffff;\n width: 50px;\n height: 50px;\n margin: 0 auto;\n -moz-animation: spin 0.5s infinite linear;\n -webkit-animation: spin 0.5s infinite linear;\n }\n .vg-buffering .loadingSpinner .stop {\n -webkit-animation-play-state: paused;\n -moz-animation-play-state: paused;\n }\n @-moz-keyframes spin {\n 0% {\n -moz-transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n }\n }\n @-moz-keyframes spinoff {\n 0% {\n -moz-transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(-360deg);\n }\n }\n @-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n }\n }\n @-webkit-keyframes spinoff {\n 0% {\n -webkit-transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(-360deg);\n }\n }\n "]
}] }
},] }
];

@@ -90,28 +60,3 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgBufferingComponent.prototype.vgFor;
/** @type {?} */
VgBufferingComponent.prototype.elem;
/** @type {?} */
VgBufferingComponent.prototype.target;
/** @type {?} */
VgBufferingComponent.prototype.checkInterval;
/** @type {?} */
VgBufferingComponent.prototype.currentPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.lastPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.subscriptions;
/** @type {?} */
VgBufferingComponent.prototype.isBuffering;
/** @type {?} */
VgBufferingComponent.prototype.API;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/buffering.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgBufferingModule = /** @class */ (function () {

@@ -131,13 +76,5 @@ function VgBufferingModule() {

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-buffering.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.VgBufferingComponent = VgBufferingComponent;

@@ -144,0 +81,0 @@ exports.VgBufferingModule = VgBufferingModule;

@@ -7,19 +7,3 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* Generated from: lib/google.ima.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: lib/vg-ima-ads.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgImaAdsComponent = /** @class */ (function () {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
*/
function VgImaAdsComponent(ref, API, fsAPI) {

@@ -38,5 +22,2 @@ this.API = API;

}
/**
* @return {?}
*/
VgImaAdsComponent.prototype.ngOnInit = function () {

@@ -48,10 +29,5 @@ var _this = this;

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe(( /**
* @return {?}
*/function () { return _this.onPlayerReady(); })));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(function () { return _this.onPlayerReady(); }));
}
};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onPlayerReady = function () {

@@ -71,5 +47,2 @@ if (typeof google === 'undefined') {

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.initializations = function () {

@@ -79,3 +52,3 @@ var _this = this;

if (this.vgSkipButton) {
this.skipButton = ( /** @type {?} */(document.querySelector(this.vgSkipButton)));
this.skipButton = document.querySelector(this.vgSkipButton);
this.skipButton.style.display = 'none';

@@ -85,8 +58,4 @@ this.skipButton.addEventListener('click', this.onClickSkip.bind(this));

}
window.addEventListener('resize', ( /**
* @return {?}
*/function () {
/** @type {?} */
window.addEventListener('resize', function () {
var w = _this.API.videogularElement.offsetWidth;
/** @type {?} */
var h = _this.API.videogularElement.offsetHeight;

@@ -101,16 +70,9 @@ if (_this.ima.adsManager) {

}
}));
});
};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.loadAds = function () {
var _this = this;
if (this.vgCompanion) {
googletag.cmd.push(( /**
* @return {?}
*/function () {
/** @type {?} */
googletag.cmd.push(function () {
var adUnitPath = '/' + _this.vgNetwork + '/' + _this.vgUnitPath;
/** @type {?} */
var slot = googletag.defineSlot(adUnitPath, _this.vgCompanionSize, _this.vgCompanion);

@@ -124,9 +86,5 @@ if (slot) {

}
}));
});
}
};
/**
* @param {?} event
* @return {?}
*/
VgImaAdsComponent.prototype.onUpdateState = function (event) {

@@ -144,12 +102,6 @@ switch (event.type) {

};
/**
* @param {?} adTagUrl
* @return {?}
*/
VgImaAdsComponent.prototype.requestAds = function (adTagUrl) {
// Show only to get computed style in pixels
this.show();
/** @type {?} */
var adsRequest = new google.ima.AdsRequest();
/** @type {?} */
var computedStyle = window.getComputedStyle(this.elem);

@@ -163,6 +115,2 @@ adsRequest.adTagUrl = adTagUrl;

};
/**
* @param {?} evt
* @return {?}
*/
VgImaAdsComponent.prototype.onAdsManagerLoaded = function (evt) {

@@ -174,10 +122,4 @@ this.show();

// @ts-ignore
/**
* @param {?} adsManager
* @return {?}
*/
VgImaAdsComponent.prototype.processAdsManager = function (adsManager) {
/** @type {?} */
var w = this.API.videogularElement.offsetWidth;
/** @type {?} */
var h = this.API.videogularElement.offsetHeight;

@@ -194,7 +136,3 @@ // Attach the pause/resume events.

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onSkippableStateChanged = function () {
/** @type {?} */
var isSkippable = this.ima.adsManager.getAdSkippableState();

@@ -208,5 +146,2 @@ if (isSkippable) {

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onClickSkip = function () {

@@ -216,5 +151,2 @@ this.ima.adsManager.skip();

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onContentPauseRequested = function () {

@@ -225,5 +157,2 @@ this.show();

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onContentResumeRequested = function () {

@@ -235,6 +164,2 @@ this.API.play();

// @ts-ignore
/**
* @param {?} evt
* @return {?}
*/
VgImaAdsComponent.prototype.onAdError = function (evt) {

@@ -248,5 +173,2 @@ if (this.ima.adsManager) {

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onAllAdsComplete = function () {

@@ -260,5 +182,2 @@ this.hide();

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onAdComplete = function () {

@@ -269,5 +188,2 @@ // TODO: Update view with current ad count

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.show = function () {

@@ -277,5 +193,2 @@ window.dispatchEvent(new CustomEvent(core$1.VgEvents.VG_START_ADS));

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.hide = function () {

@@ -285,5 +198,2 @@ window.dispatchEvent(new CustomEvent(core$1.VgEvents.VG_END_ADS));

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.onContentEnded = function () {

@@ -293,6 +203,2 @@ this.ima.adsLoader.contentComplete();

};
/**
* @param {?} fsState
* @return {?}
*/
VgImaAdsComponent.prototype.onChangeFullscreen = function (fsState) {

@@ -303,6 +209,2 @@ if (!this.fsAPI.nativeFullscreen) {

};
/**
* @private
* @return {?}
*/
VgImaAdsComponent.prototype.onMissingGoogleImaLoader = function () {

@@ -312,10 +214,4 @@ this.hide();

};
/**
* @return {?}
*/
VgImaAdsComponent.prototype.ngOnDestroy = function () {
this.subscriptions.forEach(( /**
* @param {?} s
* @return {?}
*/function (s) { return s.unsubscribe(); }));
this.subscriptions.forEach(function (s) { return s.unsubscribe(); });
};

@@ -330,3 +226,3 @@ return VgImaAdsComponent;

styles: ["\n vg-ima-ads {\n position: absolute;\n width: 100%;\n height: 100%;\n z-index: 300;\n }\n vg-ima-ads .vg-ima-ads {\n position: absolute;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n "]
}] }
},] }
];

@@ -353,49 +249,3 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgImaAdsComponent.prototype.vgFor;
/** @type {?} */
VgImaAdsComponent.prototype.vgNetwork;
/** @type {?} */
VgImaAdsComponent.prototype.vgUnitPath;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanion;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanionSize;
/** @type {?} */
VgImaAdsComponent.prototype.vgAdTagUrl;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButton;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButtonLocale;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStart;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStop;
/** @type {?} */
VgImaAdsComponent.prototype.onSkipAd;
/** @type {?} */
VgImaAdsComponent.prototype.elem;
/** @type {?} */
VgImaAdsComponent.prototype.target;
/** @type {?} */
VgImaAdsComponent.prototype.ima;
/** @type {?} */
VgImaAdsComponent.prototype.isFullscreen;
/** @type {?} */
VgImaAdsComponent.prototype.skipButton;
/** @type {?} */
VgImaAdsComponent.prototype.subscriptions;
/** @type {?} */
VgImaAdsComponent.prototype.displayState;
/** @type {?} */
VgImaAdsComponent.prototype.API;
/** @type {?} */
VgImaAdsComponent.prototype.fsAPI;
}
var Ima = /** @class */ (function () {
/**
* @param {?} imaAdsElement
* @param {?} imaSkipButtonLocale
*/
function Ima(imaAdsElement, imaSkipButtonLocale) {

@@ -413,20 +263,3 @@ if (!!(google === null || google === void 0 ? void 0 : google.ima['settings']) && imaSkipButtonLocale) {

}());
if (false) {
/** @type {?} */
Ima.prototype.adDisplayContainer;
/** @type {?} */
Ima.prototype.adsLoader;
/** @type {?} */
Ima.prototype.adsManager;
/** @type {?} */
Ima.prototype.adsLoaded;
/** @type {?} */
Ima.prototype.currentAd;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/ima-ads.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgImaAdsModule = /** @class */ (function () {

@@ -445,12 +278,6 @@ function VgImaAdsModule() {

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// export './lib/google.ima';
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-ima-ads.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/

@@ -457,0 +284,0 @@

@@ -7,15 +7,4 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* Generated from: lib/utils/modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var AudioContext = window["AudioContext"] || window["webkitAudioContext"];
var Gondolo = /** @class */ (function () {
/**
* @param {?} audio
* @param {?=} ctx
* @param {?=} opts
*/
function Gondolo(audio, ctx, opts) {

@@ -39,7 +28,2 @@ if (!(this instanceof Gondolo)) {

}
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
Gondolo.prototype.waveform = function (output, channel) {

@@ -51,3 +35,2 @@ if (!output) {

}
/** @type {?} */
var analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -57,7 +40,2 @@ analyser.getByteTimeDomainData(output);

};
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
Gondolo.prototype.frequencies = function (output, channel) {

@@ -69,3 +47,2 @@ if (!output) {

}
/** @type {?} */
var analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -75,9 +52,2 @@ analyser.getByteFrequencyData(output);

};
/**
* @private
* @param {?} ctx
* @param {?} opts
* @param {?} audio
* @return {?}
*/
Gondolo.prototype.audioConfigStateResolver = function (ctx, opts, audio) {

@@ -93,7 +63,2 @@ this.analyser = ctx.createAnalyser();

};
/**
* @private
* @param {?} ctx
* @return {?}
*/
Gondolo.prototype.audioConfigStateParser = function (ctx) {

@@ -125,36 +90,6 @@ if (!this.stereo) {

}());
if (false) {
/** @type {?} */
Gondolo.prototype.ctx;
/** @type {?} */
Gondolo.prototype.analyser;
/** @type {?} */
Gondolo.prototype.stereo;
/** @type {?} */
Gondolo.prototype.audible;
/** @type {?} */
Gondolo.prototype.wavedata;
/** @type {?} */
Gondolo.prototype.freqdata;
/** @type {?} */
Gondolo.prototype.splitter;
/** @type {?} */
Gondolo.prototype.merger;
/** @type {?} */
Gondolo.prototype.source;
/** @type {?} */
Gondolo.prototype.output;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-modulo.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgModuloComponent = /** @class */ (function () {
function VgModuloComponent() {
}
/**
* @return {?}
*/
VgModuloComponent.prototype.startVisualizer = function () {

@@ -164,3 +99,2 @@ if (!this._audioAnalyser) {

var _a = this.moduloConfig.dimensions, width = _a.width, height = _a.height;
/** @type {?} */
var canvasElement = this.waveCanvas.nativeElement;

@@ -173,8 +107,4 @@ this._ctx = canvasElement.getContext("2d");

};
/**
* @return {?}
*/
VgModuloComponent.prototype.update = function () {
var _this = this;
/** @type {?} */
var audioFreq = this._audioAnalyser.waveform();

@@ -199,5 +129,3 @@ var _a = this.moduloConfig, fillStyle = _a.fillStyle, strokeStyle = _a.strokeStyle, lineWidth = _a.lineWidth, scaleFactor = _a.scaleFactor;

this._ctx.stroke();
window.requestAnimationFrame(( /**
* @return {?}
*/function () { return _this.update(); }));
window.requestAnimationFrame(function () { return _this.update(); });
};

@@ -210,3 +138,3 @@ return VgModuloComponent;

template: "<canvas #waveCanvas></canvas>\n"
}] }
},] }
];

@@ -218,26 +146,3 @@ VgModuloComponent.propDecorators = {

};
if (false) {
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._audioAnalyser;
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._ctx;
/** @type {?} */
VgModuloComponent.prototype.moduloConfig;
/** @type {?} */
VgModuloComponent.prototype.audioElement;
/** @type {?} */
VgModuloComponent.prototype.waveCanvas;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/modulo.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgModuloModule = /** @class */ (function () {

@@ -259,13 +164,5 @@ function VgModuloModule() {

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.Gondolo = Gondolo;

@@ -272,0 +169,0 @@ exports.VgModuloComponent = VgModuloComponent;

@@ -7,14 +7,3 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-overlay-play.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgOverlayPlayComponent = /** @class */ (function () {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
* @param {?} controlsHidden
*/
function VgOverlayPlayComponent(ref, API, fsAPI, controlsHidden) {

@@ -24,4 +13,7 @@ this.API = API;

this.controlsHidden = controlsHidden;
this.vgSkipIfControlsHidden = false;
this.vgSkipIfControlsHiddenDelay = 0.5;
this.isNativeFullscreen = false;
this.areControlsHidden = false;
this.areControlsHiddenChangeTime = 0;
this.subscriptions = [];

@@ -31,5 +23,2 @@ this.isBuffering = false;

}
/**
* @return {?}
*/
VgOverlayPlayComponent.prototype.ngOnInit = function () {

@@ -41,10 +30,5 @@ var _this = this;

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe(( /**
* @return {?}
*/function () { return _this.onPlayerReady(); })));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(function () { return _this.onPlayerReady(); }));
}
};
/**
* @return {?}
*/
VgOverlayPlayComponent.prototype.onPlayerReady = function () {

@@ -55,18 +39,7 @@ var _this = this;

this.subscriptions.push(this.controlsHidden.isHidden.subscribe(this.onHideControls.bind(this)));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe(( /**
* @param {?} isBuffering
* @return {?}
*/function (isBuffering) { return _this.onUpdateBuffer(isBuffering); })));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe(function (isBuffering) { return _this.onUpdateBuffer(isBuffering); }));
};
/**
* @param {?} isBuffering
* @return {?}
*/
VgOverlayPlayComponent.prototype.onUpdateBuffer = function (isBuffering) {
this.isBuffering = isBuffering;
};
/**
* @param {?} fsState
* @return {?}
*/
VgOverlayPlayComponent.prototype.onChangeFullscreen = function (fsState) {

@@ -77,14 +50,12 @@ if (this.fsAPI.nativeFullscreen) {

};
/**
* @param {?} hidden
* @return {?}
*/
VgOverlayPlayComponent.prototype.onHideControls = function (hidden) {
if (this.vgSkipIfControlsHidden && this.areControlsHidden != hidden) {
this.areControlsHiddenChangeTime = Date.now();
}
this.areControlsHidden = hidden;
};
/**
* @return {?}
*/
VgOverlayPlayComponent.prototype.onClick = function () {
/** @type {?} */
if (this.vgSkipIfControlsHidden && (this.areControlsHidden || (Date.now() - this.areControlsHiddenChangeTime) < this.vgSkipIfControlsHiddenDelay * 1000)) {
return;
}
var state = this.getState();

@@ -101,7 +72,3 @@ switch (state) {

};
/**
* @return {?}
*/
VgOverlayPlayComponent.prototype.getState = function () {
/** @type {?} */
var state = core.VgStates.VG_PAUSED;

@@ -123,10 +90,4 @@ if (this.target) {

};
/**
* @return {?}
*/
VgOverlayPlayComponent.prototype.ngOnDestroy = function () {
this.subscriptions.forEach(( /**
* @param {?} s
* @return {?}
*/function (s) { return s.unsubscribe(); }));
this.subscriptions.forEach(function (s) { return s.unsubscribe(); });
};

@@ -141,3 +102,3 @@ return VgOverlayPlayComponent;

styles: ["\n vg-overlay-play {\n z-index: 200;\n }\n vg-overlay-play.is-buffering {\n display: none;\n }\n vg-overlay-play .vg-overlay-play {\n transition: all 0.5s;\n cursor: pointer;\n position: absolute;\n display: block;\n color: white;\n width: 100%;\n height: 100%;\n font-size: 80px;\n filter: alpha(opacity=60);\n opacity: 0.6;\n }\n vg-overlay-play .vg-overlay-play.native-fullscreen.controls-hidden {\n cursor: none;\n }\n vg-overlay-play\n .vg-overlay-play\n .overlay-play-container.vg-icon-play_arrow {\n pointer-events: none;\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 80px;\n }\n vg-overlay-play .vg-overlay-play:hover {\n filter: alpha(opacity=100);\n opacity: 1;\n }\n vg-overlay-play\n .vg-overlay-play:hover\n .overlay-play-container.vg-icon-play_arrow:before {\n transform: scale(1.2);\n }\n "]
}] }
},] }
];

@@ -153,36 +114,8 @@ /** @nocollapse */

vgFor: [{ type: core$1.Input }],
vgSkipIfControlsHidden: [{ type: core$1.Input }],
vgSkipIfControlsHiddenDelay: [{ type: core$1.Input }],
isBuffering: [{ type: core$1.HostBinding, args: ['class.is-buffering',] }],
onClick: [{ type: core$1.HostListener, args: ['click',] }]
};
if (false) {
/** @type {?} */
VgOverlayPlayComponent.prototype.vgFor;
/** @type {?} */
VgOverlayPlayComponent.prototype.elem;
/** @type {?} */
VgOverlayPlayComponent.prototype.target;
/** @type {?} */
VgOverlayPlayComponent.prototype.isNativeFullscreen;
/** @type {?} */
VgOverlayPlayComponent.prototype.areControlsHidden;
/** @type {?} */
VgOverlayPlayComponent.prototype.subscriptions;
/** @type {?} */
VgOverlayPlayComponent.prototype.isBuffering;
/** @type {?} */
VgOverlayPlayComponent.prototype.API;
/** @type {?} */
VgOverlayPlayComponent.prototype.fsAPI;
/**
* @type {?}
* @private
*/
VgOverlayPlayComponent.prototype.controlsHidden;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/overlay-play.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgOverlayPlayModule = /** @class */ (function () {

@@ -202,13 +135,5 @@ function VgOverlayPlayModule() {

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-overlay-play.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.VgOverlayPlayComponent = VgOverlayPlayComponent;

@@ -215,0 +140,0 @@ exports.VgOverlayPlayModule = VgOverlayPlayModule;

@@ -7,12 +7,3 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-dash/vg-dash.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgDashDirective = /** @class */ (function () {
/**
* @param {?} ref
* @param {?} API
*/
function VgDashDirective(ref, API) {

@@ -24,5 +15,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
VgDashDirective.prototype.ngOnInit = function () {

@@ -34,10 +22,5 @@ var _this = this;

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe(( /**
* @return {?}
*/function () { return _this.onPlayerReady(); })));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(function () { return _this.onPlayerReady(); }));
}
};
/**
* @return {?}
*/
VgDashDirective.prototype.onPlayerReady = function () {

@@ -48,6 +31,2 @@ this.vgFor = this.ref.nativeElement.getAttribute('vgFor');

};
/**
* @param {?} changes
* @return {?}
*/
VgDashDirective.prototype.ngOnChanges = function (changes) {

@@ -57,5 +36,2 @@ var _a;

};
/**
* @return {?}
*/
VgDashDirective.prototype.createPlayer = function () {

@@ -70,3 +46,2 @@ var _this = this;

this.vgDash.indexOf('mpd-time-csf') > -1)) {
/** @type {?} */
var drmOptions = void 0;

@@ -89,14 +64,7 @@ if (this.vgDRMLicenseServer) {

this.dash.setAutoPlay(false);
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, ( /**
* @return {?}
*/function () {
/** @type {?} */
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, function () {
var audioList = _this.dash.getBitrateInfoListFor('audio');
/** @type {?} */
var videoList = _this.dash.getBitrateInfoListFor('video');
if (audioList.length > 1) {
audioList.forEach(( /**
* @param {?} item
* @return {?}
*/function (item) { return (item.qualityIndex = ++item.qualityIndex); }));
audioList.forEach(function (item) { return (item.qualityIndex = ++item.qualityIndex); });
audioList.unshift({

@@ -113,6 +81,3 @@ qualityIndex: 0,

if (videoList.length > 1) {
videoList.forEach(( /**
* @param {?} item
* @return {?}
*/function (item) { return (item.qualityIndex = ++item.qualityIndex); }));
videoList.forEach(function (item) { return (item.qualityIndex = ++item.qualityIndex); });
videoList.unshift({

@@ -128,3 +93,3 @@ qualityIndex: 0,

}
}));
});
if (drmOptions) {

@@ -143,6 +108,2 @@ this.dash.setProtectionData(drmOptions);

};
/**
* @param {?} __0
* @return {?}
*/
VgDashDirective.prototype.setBitrate = function (_b) {

@@ -164,3 +125,2 @@ var _c, _d;

}
/** @type {?} */
var nextIndex = qualityIndex - 1;

@@ -182,5 +142,2 @@ this.dash.setQualityFor(mediaType, nextIndex);

};
/**
* @return {?}
*/
VgDashDirective.prototype.destroyPlayer = function () {

@@ -192,10 +149,4 @@ if (this.dash) {

};
/**
* @return {?}
*/
VgDashDirective.prototype.ngOnDestroy = function () {
this.subscriptions.forEach(( /**
* @param {?} s
* @return {?}
*/function (s) { return s.unsubscribe(); }));
this.subscriptions.forEach(function (s) { return s.unsubscribe(); });
this.destroyPlayer();

@@ -222,27 +173,2 @@ };

};
if (false) {
/** @type {?} */
VgDashDirective.prototype.vgDash;
/** @type {?} */
VgDashDirective.prototype.vgDRMToken;
/** @type {?} */
VgDashDirective.prototype.vgDRMLicenseServer;
/** @type {?} */
VgDashDirective.prototype.onGetBitrates;
/** @type {?} */
VgDashDirective.prototype.vgFor;
/** @type {?} */
VgDashDirective.prototype.target;
/** @type {?} */
VgDashDirective.prototype.dash;
/** @type {?} */
VgDashDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgDashDirective.prototype.ref;
/** @type {?} */
VgDashDirective.prototype.API;
}

@@ -273,2 +199,4 @@ /*! *****************************************************************************

function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);

@@ -459,2 +387,3 @@ function __() { this.constructor = d; }

}
/** @deprecated */
function __spread() {

@@ -465,2 +394,3 @@ for (var ar = [], i = 0; i < arguments.length; i++)

}
/** @deprecated */
function __spreadArrays() {

@@ -474,3 +404,13 @@ for (var s = 0, i = 0, il = arguments.length; i < il; i++)

}
;
function __spreadArray(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar)
ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || from);
}
function __await(v) {

@@ -540,21 +480,20 @@ return this instanceof __await ? (this.v = v, this) : new __await(v);

}
function __classPrivateFieldGet(receiver, privateMap) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to get private field on non-instance");
}
return privateMap.get(receiver);
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}
function __classPrivateFieldSet(receiver, privateMap, value) {
if (!privateMap.has(receiver)) {
throw new TypeError("attempted to set private field on non-instance");
}
privateMap.set(receiver, value);
return value;
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m")
throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}
var VgHlsDirective = /** @class */ (function () {
/**
* @param {?} ref
* @param {?} API
*/
function VgHlsDirective(ref, API) {

@@ -567,5 +506,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
VgHlsDirective.prototype.ngOnInit = function () {

@@ -577,10 +513,5 @@ var _this = this;

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe(( /**
* @return {?}
*/function () { return _this.onPlayerReady(); })));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(function () { return _this.onPlayerReady(); }));
}
};
/**
* @return {?}
*/
VgHlsDirective.prototype.onPlayerReady = function () {

@@ -597,10 +528,7 @@ var _this = this;

}
this.config = ( /** @type {?} */({
this.config = {
autoStartLoad: this.preload,
}));
};
// @ts-ignore
this.config.xhrSetup = ( /**
* @param {?} xhr
* @return {?}
*/function (xhr) {
this.config.xhrSetup = function (xhr) {
var e_1, _b;

@@ -624,18 +552,12 @@ // Send cookies

}
});
};
this.createPlayer();
if (!this.preload) {
this.subscriptions.push(this.API.subscriptions.play.subscribe(( /**
* @return {?}
*/function () {
this.subscriptions.push(this.API.subscriptions.play.subscribe(function () {
if (_this.hls) {
_this.hls.startLoad(0);
}
})));
}));
}
};
/**
* @param {?} changes
* @return {?}
*/
VgHlsDirective.prototype.ngOnChanges = function (changes) {

@@ -653,5 +575,2 @@ var _a;

};
/**
* @return {?}
*/
VgHlsDirective.prototype.createPlayer = function () {

@@ -667,12 +586,6 @@ var _this = this;

this.API.isPlayerReady) {
/** @type {?} */
var video = this.ref.nativeElement;
this.hls = new Hls(this.config);
// @ts-ignore
this.hls.on(Hls.Events.MANIFEST_PARSED, ( /**
* @param {?} _event
* @param {?} data
* @return {?}
*/function (_event, data) {
/** @type {?} */
this.hls.on(Hls.Events.MANIFEST_PARSED, function (_event, data) {
var videoList = [];

@@ -687,7 +600,3 @@ videoList.push({

});
data.levels.forEach(( /**
* @param {?} item
* @param {?} index
* @return {?}
*/function (item, index) {
data.levels.forEach(function (item, index) {
videoList.push({

@@ -701,13 +610,9 @@ qualityIndex: ++index,

});
}));
});
_this.onGetBitrates.emit(videoList);
}));
});
// @ts-ignore
this.hls.on(Hls.Events.LEVEL_LOADED, ( /**
* @param {?} _event
* @param {?} data
* @return {?}
*/function (_event, data) {
this.hls.on(Hls.Events.LEVEL_LOADED, function (_event, data) {
_this.target.isLive = data.details.live;
}));
});
this.hls.loadSource(this.vgHls);

@@ -724,6 +629,2 @@ this.hls.attachMedia(video);

};
/**
* @param {?} bitrate
* @return {?}
*/
VgHlsDirective.prototype.setBitrate = function (bitrate) {

@@ -734,5 +635,2 @@ if (this.hls) {

};
/**
* @return {?}
*/
VgHlsDirective.prototype.destroyPlayer = function () {

@@ -744,10 +642,4 @@ if (this.hls) {

};
/**
* @return {?}
*/
VgHlsDirective.prototype.ngOnDestroy = function () {
this.subscriptions.forEach(( /**
* @param {?} s
* @return {?}
*/function (s) { return s.unsubscribe(); }));
this.subscriptions.forEach(function (s) { return s.unsubscribe(); });
this.destroyPlayer();

@@ -774,37 +666,3 @@ delete this.hls;

};
if (false) {
/** @type {?} */
VgHlsDirective.prototype.vgHls;
/** @type {?} */
VgHlsDirective.prototype.vgHlsHeaders;
/** @type {?} */
VgHlsDirective.prototype.onGetBitrates;
/** @type {?} */
VgHlsDirective.prototype.vgFor;
/** @type {?} */
VgHlsDirective.prototype.target;
/** @type {?} */
VgHlsDirective.prototype.hls;
/** @type {?} */
VgHlsDirective.prototype.preload;
/** @type {?} */
VgHlsDirective.prototype.crossorigin;
/** @type {?} */
VgHlsDirective.prototype.config;
/** @type {?} */
VgHlsDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgHlsDirective.prototype.ref;
/** @type {?} */
VgHlsDirective.prototype.API;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/streaming.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var VgStreamingModule = /** @class */ (function () {

@@ -824,13 +682,5 @@ function VgStreamingModule() {

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-streaming.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.VgDashDirective = VgDashDirective;

@@ -837,0 +687,0 @@ exports.VgHlsDirective = VgHlsDirective;

@@ -1,12 +0,6 @@

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
(function (factory) {
typeof define === 'function' && define.amd ? define('@videogular/ngx-videogular', factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.videogular = global.videogular || {}, global.videogular['ngx-videogular'] = factory()));
}(this, (function () { 'use strict';
factory();
}((function () { 'use strict';
/**
* @fileoverview added by tsickle
* Generated from: public-api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// export * from "@videogular/ngx-videogular/core";

@@ -24,10 +18,6 @@ // export * from "@videogular/ngx-videogular/buffering";

/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
return publicApi;
})));
//# sourceMappingURL=videogular-ngx-videogular.umd.js.map

@@ -17,2 +17,3 @@ import { OnInit, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';

touchStart$: Observable<any>;
mouseClick$: Observable<any>;
subscriptions: Subscription[];

@@ -19,0 +20,0 @@ constructor(API: VgApiService, ref: ElementRef, hidden: VgControlsHiddenService);

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/controls"
}
}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"VgControlsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":34,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":35,"character":12},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgCoreModule","line":35,"character":26}],"declarations":[{"__symbolic":"reference","name":"VgControlsComponent"},{"__symbolic":"reference","name":"VgVolumeComponent"},{"__symbolic":"reference","name":"VgTrackSelectorComponent"},{"__symbolic":"reference","name":"VgTimeDisplayComponent"},{"__symbolic":"reference","name":"VgScrubBarComponent"},{"__symbolic":"reference","name":"VgQualitySelectorComponent"},{"__symbolic":"reference","name":"VgPlaybackButtonComponent"},{"__symbolic":"reference","name":"VgPlayPauseComponent"},{"__symbolic":"reference","name":"VgMuteComponent"},{"__symbolic":"reference","name":"VgFullscreenComponent"},{"__symbolic":"reference","name":"VgUtcPipe"},{"__symbolic":"reference","name":"VgScrubBarBufferingTimeComponent"},{"__symbolic":"reference","name":"VgScrubBarCuePointsComponent"},{"__symbolic":"reference","name":"VgScrubBarCurrentTimeComponent"}],"exports":[{"__symbolic":"reference","name":"VgControlsComponent"},{"__symbolic":"reference","name":"VgVolumeComponent"},{"__symbolic":"reference","name":"VgTrackSelectorComponent"},{"__symbolic":"reference","name":"VgTimeDisplayComponent"},{"__symbolic":"reference","name":"VgScrubBarComponent"},{"__symbolic":"reference","name":"VgQualitySelectorComponent"},{"__symbolic":"reference","name":"VgPlaybackButtonComponent"},{"__symbolic":"reference","name":"VgPlayPauseComponent"},{"__symbolic":"reference","name":"VgMuteComponent"},{"__symbolic":"reference","name":"VgFullscreenComponent"},{"__symbolic":"reference","name":"VgUtcPipe"},{"__symbolic":"reference","name":"VgScrubBarBufferingTimeComponent"},{"__symbolic":"reference","name":"VgScrubBarCuePointsComponent"},{"__symbolic":"reference","name":"VgScrubBarCurrentTimeComponent"}]}]}],"members":{}},"VgControlsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"vg-controls","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":17},"member":"None"},"template":"<ng-content></ng-content>","styles":["\n vg-controls {\n position: absolute;\n display: flex;\n width: 100%;\n height: 50px;\n z-index: 300;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n -webkit-transition: bottom 1s;\n -khtml-transition: bottom 1s;\n -moz-transition: bottom 1s;\n -ms-transition: bottom 1s;\n transition: bottom 1s;\n }\n vg-controls.hide {\n bottom: -50px;\n }\n "]}]}],"members":{"isAdsPlaying":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":44,"character":3},"arguments":["style.pointer-events"]}]}],"hideControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":45,"character":3},"arguments":["class.hide"]}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"vgAutohide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"vgAutohideTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":59,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":61,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onPlay":[{"__symbolic":"method"}],"onPause":[{"__symbolic":"method"}],"onStartAds":[{"__symbolic":"method"}],"onEndAds":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hideAsync":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgFullscreenComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-fullscreen","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-fullscreen]=\"!isFullscreen\"\n [class.vg-icon-fullscreen_exit]=\"isFullscreen\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"fullscreen button\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-fullscreen {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-fullscreen .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":57,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":58,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgFullscreenApiService","line":59,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onChangeFullscreen":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":3},"arguments":["keydown",["$event"]]}]}],"changeFullscreenState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgMuteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"vg-mute","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":14,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-volume_up]=\"getVolume() >= 0.75\"\n [class.vg-icon-volume_down]=\"getVolume() >= 0.25 && getVolume() < 0.75\"\n [class.vg-icon-volume_mute]=\"getVolume() > 0 && getVolume() < 0.25\"\n [class.vg-icon-volume_off]=\"getVolume() === 0\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"mute button\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-mute {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-mute .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":60,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":79,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":84,"character":3},"arguments":["keydown",["$event"]]}]}],"changeMuteState":[{"__symbolic":"method"}],"getVolume":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgPlayPauseComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"vg-play-pause","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":14,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-pause]=\"getState() === 'playing'\"\n [class.vg-icon-play_arrow]=\"\n getState() === 'paused' || getState() === 'ended'\n \"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"getState() === 'paused' ? 'play' : 'pause'\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-play-pause {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-play-pause .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":59,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":59,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":77,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":3},"arguments":["keydown",["$event"]]}]}],"playPause":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgPlaybackButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-playback-button","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":" <span\n class=\"button\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"playback speed button\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n {{ getPlaybackRate() }}x\n </span>","styles":["\n vg-playback-button {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n }\n vg-playback-button .button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 50px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"playbackValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":65,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":66,"character":16},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":67,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":3},"arguments":["keydown",["$event"]]}]}],"updatePlaybackSpeed":[{"__symbolic":"method"}],"getPlaybackRate":[{"__symbolic":"method"}],"detectChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgQualitySelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"vg-quality-selector","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":17,"character":17},"member":"None"},"template":"\n <div class=\"container\">\n <div class=\"quality-selected\" [class.vg-icon-hd]=\"!bitrateSelected\">\n {{ bitrateSelected?.label }}\n </div>\n <select\n class=\"quality-selector\"\n (change)=\"selectBitrate($event.target.value)\"\n tabindex=\"0\"\n aria-label=\"quality selector\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n <option\n *ngFor=\"let bitrate of bitrates\"\n [value]=\"bitrate.qualityIndex\"\n [selected]=\"bitrate.qualityIndex === bitrateSelected?.qualityIndex\"\n >\n {{ bitrate.label }}\n </option>\n </select>\n </div>\n ","styles":["\n vg-quality-selector {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n width: 50px;\n height: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-quality-selector .container {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 0;\n margin: 5px;\n }\n vg-quality-selector select.quality-selector {\n width: 50px;\n padding: 5px 8px;\n border: none;\n background: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n color: transparent;\n font-size: 16px;\n }\n vg-quality-selector select.quality-selector::-ms-expand {\n display: none;\n }\n vg-quality-selector select.quality-selector option {\n color: #000;\n }\n vg-quality-selector .quality-selected {\n position: absolute;\n width: 100%;\n height: 50px;\n top: -6px;\n text-align: center;\n text-transform: uppercase;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n padding-top: 2px;\n pointer-events: none;\n }\n vg-quality-selector .vg-icon-closed_caption:before {\n width: 100%;\n }\n "]}]}],"members":{"bitrates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"onBitrateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":102,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":113,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":113,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"selectBitrate":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgUtcPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":14,"character":1},"arguments":[{"name":"vgUtc"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"VgTimeDisplayComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"vg-time-display","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":43,"character":17},"member":"None"},"template":"\n <span *ngIf=\"target?.isLive\">LIVE</span>\n <span *ngIf=\"!target?.isLive\">{{ getTime() | vgUtc: vgFormat }}</span>\n <ng-content></ng-content>\n ","styles":["\n vg-time-display {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 60px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n pointer-events: none;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"vgProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"vgFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":80,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":80,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getTime":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"Option":{"__symbolic":"interface"},"VgTrackSelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"vg-track-selector","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":19,"character":17},"member":"None"},"template":"\n <div class=\"container\">\n <div\n class=\"track-selected\"\n [class.vg-icon-closed_caption]=\"!trackSelected\"\n >\n {{ trackSelected || '' }}\n </div>\n <select\n class=\"trackSelector\"\n (change)=\"selectTrack($event.target.value)\"\n tabindex=\"0\"\n aria-label=\"track selector\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n <option\n *ngFor=\"let track of tracks\"\n [value]=\"track.id\"\n [selected]=\"track.selected === true\"\n >\n {{ track.label }}\n </option>\n </select>\n </div>\n ","styles":["\n vg-track-selector {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n width: 50px;\n height: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-track-selector .container {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 0;\n margin: 5px;\n }\n vg-track-selector select.trackSelector {\n width: 50px;\n padding: 5px 8px;\n border: none;\n background: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n color: transparent;\n font-size: 16px;\n }\n vg-track-selector select.trackSelector::-ms-expand {\n display: none;\n }\n vg-track-selector select.trackSelector option {\n color: #000;\n }\n vg-track-selector .track-selected {\n position: absolute;\n width: 100%;\n height: 50px;\n top: -6px;\n text-align: center;\n text-transform: uppercase;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n padding-top: 2px;\n pointer-events: none;\n }\n vg-track-selector .vg-icon-closed_caption:before {\n width: 100%;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":115,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":115,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"selectTrack":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgVolumeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-volume","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"\n <div\n #volumeBar\n class=\"volumeBar\"\n tabindex=\"0\"\n role=\"slider\"\n aria-label=\"volume level\"\n aria-level=\"polite\"\n [attr.aria-valuenow]=\"ariaValue\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-orientation=\"horizontal\"\n [attr.aria-valuetext]=\"ariaValue + '%'\"\n (click)=\"onClick($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"volumeBackground\" [ngClass]=\"{ dragging: isDragging }\">\n <div\n class=\"volumeValue\"\n [style.width]=\"getVolume() * (100 - 15) + '%'\"\n ></div>\n <div\n class=\"volumeKnob\"\n [style.left]=\"getVolume() * (100 - 15) + '%'\"\n ></div>\n </div>\n </div>\n ","styles":["\n vg-volume {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 100px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-volume .volumeBar {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n }\n vg-volume .volumeBackground {\n display: flex;\n flex-grow: 1;\n height: 5px;\n pointer-events: none;\n background-color: #333;\n }\n vg-volume .volumeValue {\n display: flex;\n height: 5px;\n pointer-events: none;\n background-color: #fff;\n transition: all 0.2s ease-out;\n }\n vg-volume .volumeKnob {\n position: absolute;\n width: 15px;\n height: 15px;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n border-radius: 15px;\n pointer-events: none;\n background-color: #fff;\n transition: all 0.2s ease-out;\n }\n vg-volume .volumeBackground.dragging .volumeValue,\n vg-volume .volumeBackground.dragging .volumeKnob {\n transition: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"volumeBarRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":101,"character":3},"arguments":["volumeBar",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":112,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":112,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onMouseDown":[{"__symbolic":"method"}],"onDrag":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":141,"character":3},"arguments":["document:mousemove",["$event"]]}]}],"onStopDrag":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":148,"character":3},"arguments":["document:mouseup",["$event"]]}]}],"arrowAdjustVolume":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":158,"character":3},"arguments":["keydown",["$event"]]}]}],"calculateVolume":[{"__symbolic":"method"}],"setVolume":[{"__symbolic":"method"}],"getVolume":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-scrub-bar","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"\n <div\n class=\"scrubBar\"\n tabindex=\"0\"\n role=\"slider\"\n aria-label=\"scrub bar\"\n aria-level=\"polite\"\n [attr.aria-valuenow]=\"getPercentage()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuetext]=\"getPercentage()\"\n >\n <ng-content></ng-content>\n </div>\n ","styles":["\n vg-scrub-bar {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n position: absolute;\n width: 100%;\n height: 5px;\n bottom: 50px;\n margin: 0;\n cursor: pointer;\n align-items: center;\n background: rgba(0, 0, 0, 0.75);\n z-index: 250;\n -webkit-transition: bottom 1s, opacity 0.5s;\n -khtml-transition: bottom 1s, opacity 0.5s;\n -moz-transition: bottom 1s, opacity 0.5s;\n -ms-transition: bottom 1s, opacity 0.5s;\n transition: bottom 1s, opacity 0.5s;\n }\n vg-scrub-bar .scrubBar {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n height: 100%;\n }\n vg-controls vg-scrub-bar {\n position: relative;\n bottom: 0;\n background: transparent;\n height: 50px;\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 10px;\n -webkit-transition: initial;\n -khtml-transition: initial;\n -moz-transition: initial;\n -ms-transition: initial;\n transition: initial;\n }\n vg-scrub-bar.hide {\n bottom: 0;\n opacity: 0;\n }\n vg-controls vg-scrub-bar.hide {\n bottom: initial;\n opacity: initial;\n }\n "]}]}],"members":{"hideScrubBar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":87,"character":3},"arguments":["class.hide"]}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"vgSlider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":100,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":101,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":102,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"seekStart":[{"__symbolic":"method"}],"seekMove":[{"__symbolic":"method"}],"seekEnd":[{"__symbolic":"method"}],"touchEnd":[{"__symbolic":"method"}],"getTouchOffset":[{"__symbolic":"method"}],"onMouseDownScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":180,"character":3},"arguments":["mousedown",["$event"]]}]}],"onMouseMoveScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":193,"character":3},"arguments":["document:mousemove",["$event"]]}]}],"onMouseUpScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":202,"character":3},"arguments":["document:mouseup",["$event"]]}]}],"onTouchStartScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":211,"character":3},"arguments":["touchstart",["$event"]]}]}],"onTouchMoveScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":224,"character":3},"arguments":["document:touchmove",["$event"]]}]}],"onTouchCancelScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":233,"character":3},"arguments":["document:touchcancel",["$event"]]}]}],"onTouchEndScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":243,"character":3},"arguments":["document:touchend",["$event"]]}]}],"arrowAdjustVolume":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":253,"character":3},"arguments":["keydown",["$event"]]}]}],"getPercentage":[{"__symbolic":"method"}],"onHideScrubBar":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarCurrentTimeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-scrub-bar-current-time","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<div class=\"background\" [style.width]=\"getPercentage()\"></div>\n <span class=\"slider\" *ngIf=\"vgSlider\"></span>","styles":["\n vg-scrub-bar-current-time {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-current-time .background {\n background-color: white;\n }\n vg-controls vg-scrub-bar-current-time {\n position: absolute;\n top: calc(50% - 3px);\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n vg-controls vg-scrub-bar-current-time .background {\n border: 1px solid white;\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n vg-scrub-bar-current-time .slider {\n background: white;\n height: 15px;\n width: 15px;\n border-radius: 50%;\n box-shadow: 0px 0px 10px black;\n margin-top: -5px;\n margin-left: -10px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"vgSlider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":62,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":62,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getPercentage":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarCuePointsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"vg-scrub-bar-cue-points","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":18,"character":17},"member":"None"},"template":"\n <div class=\"cue-point-container\">\n <span\n *ngFor=\"let cp of cuePoints\"\n [style.width]=\"cp.$$style?.width\"\n [style.left]=\"cp.$$style?.left\"\n class=\"cue-point\"\n ></span>\n </div>\n ","styles":["\n vg-scrub-bar-cue-points {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-cue-points .cue-point-container .cue-point {\n position: absolute;\n height: 5px;\n background-color: rgba(255, 204, 0, 0.7);\n }\n vg-controls vg-scrub-bar-cue-points {\n position: absolute;\n top: calc(50% - 3px);\n }\n "]}]}],"members":{"vgCuePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":64,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onLoadedMetadata":[{"__symbolic":"method"}],"updateCuePoints":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarBufferingTimeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-scrub-bar-buffering-time","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<div class=\"background\" [style.width]=\"getBufferTime()\"></div>","styles":["\n vg-scrub-bar-buffering-time {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-buffering-time .background {\n background-color: rgba(255, 255, 255, 0.3);\n }\n vg-controls vg-scrub-bar-buffering-time {\n position: absolute;\n top: calc(50% - 3px);\n }\n vg-controls vg-scrub-bar-buffering-time .background {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":47,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getBufferTime":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"VgControlsModule":"./lib/controls.module","VgControlsComponent":"./lib/components/vg-controls/vg-controls.component","VgFullscreenComponent":"./lib/components/vg-fullscreen/vg-fullscreen.component","VgMuteComponent":"./lib/components/vg-mute/vg-mute.component","VgPlayPauseComponent":"./lib/components/vg-play-pause/vg-play-pause.component","VgPlaybackButtonComponent":"./lib/components/vg-playback-button/vg-playback-button.component","VgQualitySelectorComponent":"./lib/components/vg-quality-selector/vg-quality-selector.component","VgUtcPipe":"./lib/components/vg-time-display/vg-time-display.component","VgTimeDisplayComponent":"./lib/components/vg-time-display/vg-time-display.component","Option":"./lib/components/vg-track-selector/vg-track-selector.component","VgTrackSelectorComponent":"./lib/components/vg-track-selector/vg-track-selector.component","VgVolumeComponent":"./lib/components/vg-volume/vg-volume.component","VgScrubBarComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar.component","VgScrubBarCurrentTimeComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component","VgScrubBarCuePointsComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-cue-points/vg-scrub-bar-cue-points.component","VgScrubBarBufferingTimeComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-buffering-time/vg-scrub-bar-buffering-time.component"},"importAs":"@videogular/ngx-videogular/controls"}
{"__symbolic":"module","version":4,"metadata":{"VgControlsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":34,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":35,"character":12},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgCoreModule","line":35,"character":26}],"declarations":[{"__symbolic":"reference","name":"VgControlsComponent"},{"__symbolic":"reference","name":"VgVolumeComponent"},{"__symbolic":"reference","name":"VgTrackSelectorComponent"},{"__symbolic":"reference","name":"VgTimeDisplayComponent"},{"__symbolic":"reference","name":"VgScrubBarComponent"},{"__symbolic":"reference","name":"VgQualitySelectorComponent"},{"__symbolic":"reference","name":"VgPlaybackButtonComponent"},{"__symbolic":"reference","name":"VgPlayPauseComponent"},{"__symbolic":"reference","name":"VgMuteComponent"},{"__symbolic":"reference","name":"VgFullscreenComponent"},{"__symbolic":"reference","name":"VgUtcPipe"},{"__symbolic":"reference","name":"VgScrubBarBufferingTimeComponent"},{"__symbolic":"reference","name":"VgScrubBarCuePointsComponent"},{"__symbolic":"reference","name":"VgScrubBarCurrentTimeComponent"}],"exports":[{"__symbolic":"reference","name":"VgControlsComponent"},{"__symbolic":"reference","name":"VgVolumeComponent"},{"__symbolic":"reference","name":"VgTrackSelectorComponent"},{"__symbolic":"reference","name":"VgTimeDisplayComponent"},{"__symbolic":"reference","name":"VgScrubBarComponent"},{"__symbolic":"reference","name":"VgQualitySelectorComponent"},{"__symbolic":"reference","name":"VgPlaybackButtonComponent"},{"__symbolic":"reference","name":"VgPlayPauseComponent"},{"__symbolic":"reference","name":"VgMuteComponent"},{"__symbolic":"reference","name":"VgFullscreenComponent"},{"__symbolic":"reference","name":"VgUtcPipe"},{"__symbolic":"reference","name":"VgScrubBarBufferingTimeComponent"},{"__symbolic":"reference","name":"VgScrubBarCuePointsComponent"},{"__symbolic":"reference","name":"VgScrubBarCurrentTimeComponent"}]}]}],"members":{}},"VgControlsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"vg-controls","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":17},"member":"None"},"template":"<ng-content></ng-content>","styles":["\n vg-controls {\n position: absolute;\n display: flex;\n width: 100%;\n height: 50px;\n z-index: 300;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n -webkit-transition: bottom 1s;\n -khtml-transition: bottom 1s;\n -moz-transition: bottom 1s;\n -ms-transition: bottom 1s;\n transition: bottom 1s;\n }\n vg-controls.hide {\n bottom: -50px;\n }\n "]}]}],"members":{"isAdsPlaying":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":44,"character":3},"arguments":["style.pointer-events"]}]}],"hideControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":45,"character":3},"arguments":["class.hide"]}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"vgAutohide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"vgAutohideTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":60,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":61,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":62,"character":20}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onPlay":[{"__symbolic":"method"}],"onPause":[{"__symbolic":"method"}],"onStartAds":[{"__symbolic":"method"}],"onEndAds":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hideAsync":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgFullscreenComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-fullscreen","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-fullscreen]=\"!isFullscreen\"\n [class.vg-icon-fullscreen_exit]=\"isFullscreen\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"fullscreen button\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-fullscreen {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-fullscreen .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":57,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":58,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgFullscreenApiService","line":59,"character":18}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onChangeFullscreen":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":3},"arguments":["keydown",["$event"]]}]}],"changeFullscreenState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgMuteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"vg-mute","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":14,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-volume_up]=\"getVolume() >= 0.75\"\n [class.vg-icon-volume_down]=\"getVolume() >= 0.25 && getVolume() < 0.75\"\n [class.vg-icon-volume_mute]=\"getVolume() > 0 && getVolume() < 0.25\"\n [class.vg-icon-volume_off]=\"getVolume() === 0\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"mute button\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-mute {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-mute .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":60,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":79,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":84,"character":3},"arguments":["keydown",["$event"]]}]}],"changeMuteState":[{"__symbolic":"method"}],"getVolume":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgPlayPauseComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"vg-play-pause","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":14,"character":17},"member":"None"},"template":" <div\n class=\"icon\"\n [class.vg-icon-pause]=\"getState() === 'playing'\"\n [class.vg-icon-play_arrow]=\"\n getState() === 'paused' || getState() === 'ended'\n \"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"getState() === 'paused' ? 'play' : 'pause'\"\n [attr.aria-valuetext]=\"ariaValue\"\n ></div>","styles":["\n vg-play-pause {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-play-pause .icon {\n pointer-events: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":59,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":59,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":77,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":3},"arguments":["keydown",["$event"]]}]}],"playPause":[{"__symbolic":"method"}],"getState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgPlaybackButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-playback-button","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":" <span\n class=\"button\"\n tabindex=\"0\"\n role=\"button\"\n aria-label=\"playback speed button\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n {{ getPlaybackRate() }}x\n </span>","styles":["\n vg-playback-button {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n }\n vg-playback-button .button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 50px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"playbackValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":65,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":66,"character":16},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":67,"character":16}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"character":3},"arguments":["click"]}]}],"onKeyDown":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":3},"arguments":["keydown",["$event"]]}]}],"updatePlaybackSpeed":[{"__symbolic":"method"}],"getPlaybackRate":[{"__symbolic":"method"}],"detectChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgQualitySelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"vg-quality-selector","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":17,"character":17},"member":"None"},"template":"\n <div class=\"container\">\n <div class=\"quality-selected\" [class.vg-icon-hd]=\"!bitrateSelected\">\n {{ bitrateSelected?.label }}\n </div>\n <select\n class=\"quality-selector\"\n (change)=\"selectBitrate($event.target.value)\"\n tabindex=\"0\"\n aria-label=\"quality selector\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n <option\n *ngFor=\"let bitrate of bitrates\"\n [value]=\"bitrate.qualityIndex\"\n [selected]=\"bitrate.qualityIndex === bitrateSelected?.qualityIndex\"\n >\n {{ bitrate.label }}\n </option>\n </select>\n </div>\n ","styles":["\n vg-quality-selector {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n width: 50px;\n height: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-quality-selector .container {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 0;\n margin: 5px;\n }\n vg-quality-selector select.quality-selector {\n width: 50px;\n padding: 5px 8px;\n border: none;\n background: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n color: transparent;\n font-size: 16px;\n }\n vg-quality-selector select.quality-selector::-ms-expand {\n display: none;\n }\n vg-quality-selector select.quality-selector option {\n color: #000;\n }\n vg-quality-selector .quality-selected {\n position: absolute;\n width: 100%;\n height: 50px;\n top: -6px;\n text-align: center;\n text-transform: uppercase;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n padding-top: 2px;\n pointer-events: none;\n }\n vg-quality-selector .vg-icon-closed_caption:before {\n width: 100%;\n }\n "]}]}],"members":{"bitrates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"onBitrateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":102,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":113,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":113,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"selectBitrate":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgUtcPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":14,"character":1},"arguments":[{"name":"vgUtc"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"VgTimeDisplayComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":41,"character":1},"arguments":[{"selector":"vg-time-display","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":43,"character":17},"member":"None"},"template":"\n <span *ngIf=\"target?.isLive\">LIVE</span>\n <span *ngIf=\"!target?.isLive\">{{ getTime() | vgUtc: vgFormat }}</span>\n <ng-content></ng-content>\n ","styles":["\n vg-time-display {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 60px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n pointer-events: none;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"vgProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"vgFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":80,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":80,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getTime":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"Option":{"__symbolic":"interface"},"VgTrackSelectorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"vg-track-selector","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":19,"character":17},"member":"None"},"template":"\n <div class=\"container\">\n <div\n class=\"track-selected\"\n [class.vg-icon-closed_caption]=\"!trackSelected\"\n >\n {{ trackSelected || '' }}\n </div>\n <select\n class=\"trackSelector\"\n (change)=\"selectTrack($event.target.value)\"\n tabindex=\"0\"\n aria-label=\"track selector\"\n [attr.aria-valuetext]=\"ariaValue\"\n >\n <option\n *ngFor=\"let track of tracks\"\n [value]=\"track.id\"\n [selected]=\"track.selected === true\"\n >\n {{ track.label }}\n </option>\n </select>\n </div>\n ","styles":["\n vg-track-selector {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n width: 50px;\n height: 50px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-track-selector .container {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 0;\n margin: 5px;\n }\n vg-track-selector select.trackSelector {\n width: 50px;\n padding: 5px 8px;\n border: none;\n background: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n color: transparent;\n font-size: 16px;\n }\n vg-track-selector select.trackSelector::-ms-expand {\n display: none;\n }\n vg-track-selector select.trackSelector option {\n color: #000;\n }\n vg-track-selector .track-selected {\n position: absolute;\n width: 100%;\n height: 50px;\n top: -6px;\n text-align: center;\n text-transform: uppercase;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n padding-top: 2px;\n pointer-events: none;\n }\n vg-track-selector .vg-icon-closed_caption:before {\n width: 100%;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":115,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":115,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"selectTrack":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgVolumeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-volume","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"\n <div\n #volumeBar\n class=\"volumeBar\"\n tabindex=\"0\"\n role=\"slider\"\n aria-label=\"volume level\"\n aria-level=\"polite\"\n [attr.aria-valuenow]=\"ariaValue\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-orientation=\"horizontal\"\n [attr.aria-valuetext]=\"ariaValue + '%'\"\n (click)=\"onClick($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"volumeBackground\" [ngClass]=\"{ dragging: isDragging }\">\n <div\n class=\"volumeValue\"\n [style.width]=\"getVolume() * (100 - 15) + '%'\"\n ></div>\n <div\n class=\"volumeKnob\"\n [style.left]=\"getVolume() * (100 - 15) + '%'\"\n ></div>\n </div>\n </div>\n ","styles":["\n vg-volume {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: flex;\n justify-content: center;\n height: 50px;\n width: 100px;\n cursor: pointer;\n color: white;\n line-height: 50px;\n }\n vg-volume .volumeBar {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n }\n vg-volume .volumeBackground {\n display: flex;\n flex-grow: 1;\n height: 5px;\n pointer-events: none;\n background-color: #333;\n }\n vg-volume .volumeValue {\n display: flex;\n height: 5px;\n pointer-events: none;\n background-color: #fff;\n transition: all 0.2s ease-out;\n }\n vg-volume .volumeKnob {\n position: absolute;\n width: 15px;\n height: 15px;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n border-radius: 15px;\n pointer-events: none;\n background-color: #fff;\n transition: all 0.2s ease-out;\n }\n vg-volume .volumeBackground.dragging .volumeValue,\n vg-volume .volumeBackground.dragging .volumeKnob {\n transition: none;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"volumeBarRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":101,"character":3},"arguments":["volumeBar",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":112,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":112,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onMouseDown":[{"__symbolic":"method"}],"onDrag":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":141,"character":3},"arguments":["document:mousemove",["$event"]]}]}],"onStopDrag":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":148,"character":3},"arguments":["document:mouseup",["$event"]]}]}],"arrowAdjustVolume":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":158,"character":3},"arguments":["keydown",["$event"]]}]}],"calculateVolume":[{"__symbolic":"method"}],"setVolume":[{"__symbolic":"method"}],"getVolume":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-scrub-bar","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"\n <div\n class=\"scrubBar\"\n tabindex=\"0\"\n role=\"slider\"\n aria-label=\"scrub bar\"\n aria-level=\"polite\"\n [attr.aria-valuenow]=\"getPercentage()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [attr.aria-valuetext]=\"getPercentage()\"\n >\n <ng-content></ng-content>\n </div>\n ","styles":["\n vg-scrub-bar {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n position: absolute;\n width: 100%;\n height: 5px;\n bottom: 50px;\n margin: 0;\n cursor: pointer;\n align-items: center;\n background: rgba(0, 0, 0, 0.75);\n z-index: 250;\n -webkit-transition: bottom 1s, opacity 0.5s;\n -khtml-transition: bottom 1s, opacity 0.5s;\n -moz-transition: bottom 1s, opacity 0.5s;\n -ms-transition: bottom 1s, opacity 0.5s;\n transition: bottom 1s, opacity 0.5s;\n }\n vg-scrub-bar .scrubBar {\n position: relative;\n display: flex;\n flex-grow: 1;\n align-items: center;\n height: 100%;\n }\n vg-controls vg-scrub-bar {\n position: relative;\n bottom: 0;\n background: transparent;\n height: 50px;\n flex-grow: 1;\n flex-basis: 0;\n margin: 0 10px;\n -webkit-transition: initial;\n -khtml-transition: initial;\n -moz-transition: initial;\n -ms-transition: initial;\n transition: initial;\n }\n vg-scrub-bar.hide {\n bottom: 0;\n opacity: 0;\n }\n vg-controls vg-scrub-bar.hide {\n bottom: initial;\n opacity: initial;\n }\n "]}]}],"members":{"hideScrubBar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":87,"character":3},"arguments":["class.hide"]}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"vgSlider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":100,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":101,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":102,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"seekStart":[{"__symbolic":"method"}],"seekMove":[{"__symbolic":"method"}],"seekEnd":[{"__symbolic":"method"}],"touchEnd":[{"__symbolic":"method"}],"getTouchOffset":[{"__symbolic":"method"}],"onMouseDownScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":180,"character":3},"arguments":["mousedown",["$event"]]}]}],"onMouseMoveScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":193,"character":3},"arguments":["document:mousemove",["$event"]]}]}],"onMouseUpScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":202,"character":3},"arguments":["document:mouseup",["$event"]]}]}],"onTouchStartScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":211,"character":3},"arguments":["touchstart",["$event"]]}]}],"onTouchMoveScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":224,"character":3},"arguments":["document:touchmove",["$event"]]}]}],"onTouchCancelScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":233,"character":3},"arguments":["document:touchcancel",["$event"]]}]}],"onTouchEndScrubBar":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":243,"character":3},"arguments":["document:touchend",["$event"]]}]}],"arrowAdjustVolume":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":253,"character":3},"arguments":["keydown",["$event"]]}]}],"getPercentage":[{"__symbolic":"method"}],"onHideScrubBar":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarCurrentTimeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-scrub-bar-current-time","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<div class=\"background\" [style.width]=\"getPercentage()\"></div>\n <span class=\"slider\" *ngIf=\"vgSlider\"></span>","styles":["\n vg-scrub-bar-current-time {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-current-time .background {\n background-color: white;\n }\n vg-controls vg-scrub-bar-current-time {\n position: absolute;\n top: calc(50% - 3px);\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n vg-controls vg-scrub-bar-current-time .background {\n border: 1px solid white;\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n vg-scrub-bar-current-time .slider {\n background: white;\n height: 15px;\n width: 15px;\n border-radius: 50%;\n box-shadow: 0px 0px 10px black;\n margin-top: -5px;\n margin-left: -10px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"vgSlider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":62,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":62,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getPercentage":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarCuePointsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"vg-scrub-bar-cue-points","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":18,"character":17},"member":"None"},"template":"\n <div class=\"cue-point-container\">\n <span\n *ngFor=\"let cp of cuePoints\"\n [style.width]=\"cp.$$style?.width\"\n [style.left]=\"cp.$$style?.left\"\n class=\"cue-point\"\n ></span>\n </div>\n ","styles":["\n vg-scrub-bar-cue-points {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-cue-points .cue-point-container .cue-point {\n position: absolute;\n height: 5px;\n background-color: rgba(255, 204, 0, 0.7);\n }\n vg-controls vg-scrub-bar-cue-points {\n position: absolute;\n top: calc(50% - 3px);\n }\n "]}]}],"members":{"vgCuePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":64,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onLoadedMetadata":[{"__symbolic":"method"}],"updateCuePoints":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"VgScrubBarBufferingTimeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"vg-scrub-bar-buffering-time","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":13,"character":17},"member":"None"},"template":"<div class=\"background\" [style.width]=\"getBufferTime()\"></div>","styles":["\n vg-scrub-bar-buffering-time {\n display: flex;\n width: 100%;\n height: 5px;\n pointer-events: none;\n position: absolute;\n }\n vg-scrub-bar-buffering-time .background {\n background-color: rgba(255, 255, 255, 0.3);\n }\n vg-controls vg-scrub-bar-buffering-time {\n position: absolute;\n top: calc(50% - 3px);\n }\n vg-controls vg-scrub-bar-buffering-time .background {\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n border-radius: 2px;\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":19},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":47,"character":43}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"getBufferTime":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"VgControlsModule":"./lib/controls.module","VgControlsComponent":"./lib/components/vg-controls/vg-controls.component","VgFullscreenComponent":"./lib/components/vg-fullscreen/vg-fullscreen.component","VgMuteComponent":"./lib/components/vg-mute/vg-mute.component","VgPlayPauseComponent":"./lib/components/vg-play-pause/vg-play-pause.component","VgPlaybackButtonComponent":"./lib/components/vg-playback-button/vg-playback-button.component","VgQualitySelectorComponent":"./lib/components/vg-quality-selector/vg-quality-selector.component","VgUtcPipe":"./lib/components/vg-time-display/vg-time-display.component","VgTimeDisplayComponent":"./lib/components/vg-time-display/vg-time-display.component","Option":"./lib/components/vg-track-selector/vg-track-selector.component","VgTrackSelectorComponent":"./lib/components/vg-track-selector/vg-track-selector.component","VgVolumeComponent":"./lib/components/vg-volume/vg-volume.component","VgScrubBarComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar.component","VgScrubBarCurrentTimeComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component","VgScrubBarCuePointsComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-cue-points/vg-scrub-bar-cue-points.component","VgScrubBarBufferingTimeComponent":"./lib/components/vg-scrub-bar/vg-scrub-bar-buffering-time/vg-scrub-bar-buffering-time.component"},"importAs":"@videogular/ngx-videogular/controls"}

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/core"
}
}

@@ -1,8 +0,3 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgBufferingModule } from './lib/buffering.module';
export { VgBufferingComponent } from './lib/vg-buffering/vg-buffering.component';
export * from './lib/buffering.module';
export * from './lib/vg-buffering/vg-buffering.component';
//# sourceMappingURL=index.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/buffering.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -7,0 +2,0 @@ import { CommonModule } from '@angular/common';

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-buffering/vg-buffering.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostBinding, Input, ViewEncapsulation, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgBufferingComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -22,5 +13,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -31,35 +19,14 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((/**
* @param {?} isBuffering
* @return {?}
*/
(isBuffering) => this.onUpdateBuffer(isBuffering))));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((isBuffering) => this.onUpdateBuffer(isBuffering)));
}
/**
* @param {?} isBuffering
* @return {?}
*/
onUpdateBuffer(isBuffering) {
this.isBuffering = isBuffering;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -155,3 +122,3 @@ }

`]
}] }
},] }
];

@@ -167,22 +134,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgBufferingComponent.prototype.vgFor;
/** @type {?} */
VgBufferingComponent.prototype.elem;
/** @type {?} */
VgBufferingComponent.prototype.target;
/** @type {?} */
VgBufferingComponent.prototype.checkInterval;
/** @type {?} */
VgBufferingComponent.prototype.currentPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.lastPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.subscriptions;
/** @type {?} */
VgBufferingComponent.prototype.isBuffering;
/** @type {?} */
VgBufferingComponent.prototype.API;
}
//# sourceMappingURL=vg-buffering.component.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-buffering.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgBufferingModule, VgBufferingComponent } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-buffering.js.map

@@ -1,20 +0,15 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgControlsModule } from './lib/controls.module';
export { VgControlsComponent } from './lib/components/vg-controls/vg-controls.component';
export { VgFullscreenComponent } from './lib/components/vg-fullscreen/vg-fullscreen.component';
export { VgMuteComponent } from './lib/components/vg-mute/vg-mute.component';
export { VgPlayPauseComponent } from './lib/components/vg-play-pause/vg-play-pause.component';
export { VgPlaybackButtonComponent } from './lib/components/vg-playback-button/vg-playback-button.component';
export { VgQualitySelectorComponent } from './lib/components/vg-quality-selector/vg-quality-selector.component';
export { VgUtcPipe, VgTimeDisplayComponent } from './lib/components/vg-time-display/vg-time-display.component';
export { VgTrackSelectorComponent } from './lib/components/vg-track-selector/vg-track-selector.component';
export { VgVolumeComponent } from './lib/components/vg-volume/vg-volume.component';
export { VgScrubBarComponent } from './lib/components/vg-scrub-bar/vg-scrub-bar.component';
export { VgScrubBarCurrentTimeComponent } from './lib/components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component';
export { VgScrubBarCuePointsComponent } from './lib/components/vg-scrub-bar/vg-scrub-bar-cue-points/vg-scrub-bar-cue-points.component';
export { VgScrubBarBufferingTimeComponent } from './lib/components/vg-scrub-bar/vg-scrub-bar-buffering-time/vg-scrub-bar-buffering-time.component';
export * from './lib/controls.module';
export * from './lib/components/vg-controls/vg-controls.component';
export * from './lib/components/vg-fullscreen/vg-fullscreen.component';
export * from './lib/components/vg-mute/vg-mute.component';
export * from './lib/components/vg-play-pause/vg-play-pause.component';
export * from './lib/components/vg-playback-button/vg-playback-button.component';
export * from './lib/components/vg-quality-selector/vg-quality-selector.component';
export * from './lib/components/vg-time-display/vg-time-display.component';
export * from './lib/components/vg-track-selector/vg-track-selector.component';
export * from './lib/components/vg-volume/vg-volume.component';
export * from './lib/components/vg-scrub-bar/vg-scrub-bar.component';
export * from './lib/components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component';
export * from './lib/components/vg-scrub-bar/vg-scrub-bar-cue-points/vg-scrub-bar-cue-points.component';
export * from './lib/components/vg-scrub-bar/vg-scrub-bar-buffering-time/vg-scrub-bar-buffering-time.component';
//# sourceMappingURL=index.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-controls/vg-controls.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, HostBinding, ViewEncapsulation, } from '@angular/core';

@@ -11,7 +6,2 @@ import { fromEvent } from 'rxjs';

// @ts-ignore
/**
* @param {?} API
* @param {?} ref
* @param {?} hidden
*/
constructor(API, ref, hidden) {

@@ -27,5 +17,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -36,2 +23,4 @@ this.mouseMove$ = fromEvent(this.API.videogularElement, 'mousemove');

this.subscriptions.push(this.touchStart$.subscribe(this.show.bind(this)));
this.mouseClick$ = fromEvent(this.API.videogularElement, 'click');
this.subscriptions.push(this.mouseClick$.subscribe(this.show.bind(this)));
if (this.API.isPlayerReady) {

@@ -41,11 +30,5 @@ this.onPlayerReady();

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -58,5 +41,2 @@ this.target = this.API.getMediaById(this.vgFor);

}
/**
* @return {?}
*/
ngAfterViewInit() {

@@ -70,5 +50,2 @@ if (this.vgAutohide) {

}
/**
* @return {?}
*/
onPlay() {

@@ -79,5 +56,2 @@ if (this.vgAutohide) {

}
/**
* @return {?}
*/
onPause() {

@@ -88,17 +62,8 @@ clearTimeout(this.timer);

}
/**
* @return {?}
*/
onStartAds() {
this.isAdsPlaying = 'none';
}
/**
* @return {?}
*/
onEndAds() {
this.isAdsPlaying = 'initial';
}
/**
* @return {?}
*/
hide() {

@@ -110,5 +75,2 @@ if (this.vgAutohide) {

}
/**
* @return {?}
*/
show() {

@@ -122,26 +84,12 @@ clearTimeout(this.timer);

}
/**
* @private
* @return {?}
*/
hideAsync() {
if (this.API.state === VgStates.VG_PLAYING) {
this.timer = setTimeout((/**
* @return {?}
*/
() => {
this.timer = setTimeout(() => {
this.hideControls = true;
this.hidden.state(true);
}), this.vgAutohideTime * 1000);
}, this.vgAutohideTime * 1000);
}
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -173,3 +121,3 @@ }

`]
}] }
},] }
];

@@ -189,39 +137,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgControlsComponent.prototype.elem;
/** @type {?} */
VgControlsComponent.prototype.target;
/** @type {?} */
VgControlsComponent.prototype.isAdsPlaying;
/** @type {?} */
VgControlsComponent.prototype.hideControls;
/** @type {?} */
VgControlsComponent.prototype.vgFor;
/** @type {?} */
VgControlsComponent.prototype.vgAutohide;
/** @type {?} */
VgControlsComponent.prototype.vgAutohideTime;
/**
* @type {?}
* @private
*/
VgControlsComponent.prototype.timer;
/** @type {?} */
VgControlsComponent.prototype.mouseMove$;
/** @type {?} */
VgControlsComponent.prototype.touchStart$;
/** @type {?} */
VgControlsComponent.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgControlsComponent.prototype.API;
/**
* @type {?}
* @private
*/
VgControlsComponent.prototype.hidden;
}
//# sourceMappingURL=vg-controls.component.js.map

@@ -1,14 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-fullscreen/vg-fullscreen.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostListener, ViewEncapsulation, } from '@angular/core';
import { VgApiService, VgFullscreenApiService } from '@videogular/ngx-videogular/core';
export class VgFullscreenComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
*/
constructor(ref, API, fsAPI) {

@@ -23,5 +13,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -32,18 +19,8 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -53,12 +30,5 @@ this.ariaValue = fsState ? 'fullscreen mode' : 'normal mode';

}
/**
* @return {?}
*/
onClick() {
this.changeFullscreenState();
}
/**
* @param {?} event
* @return {?}
*/
onKeyDown(event) {

@@ -71,7 +41,3 @@ // On press Enter (13) or Space (32)

}
/**
* @return {?}
*/
changeFullscreenState() {
/** @type {?} */
let element = this.target;

@@ -83,11 +49,4 @@ if (this.target instanceof VgApiService) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -128,3 +87,3 @@ }

`]
}] }
},] }
];

@@ -141,20 +100,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgFullscreenComponent.prototype.elem;
/** @type {?} */
VgFullscreenComponent.prototype.vgFor;
/** @type {?} */
VgFullscreenComponent.prototype.target;
/** @type {?} */
VgFullscreenComponent.prototype.isFullscreen;
/** @type {?} */
VgFullscreenComponent.prototype.subscriptions;
/** @type {?} */
VgFullscreenComponent.prototype.ariaValue;
/** @type {?} */
VgFullscreenComponent.prototype.API;
/** @type {?} */
VgFullscreenComponent.prototype.fsAPI;
}
//# sourceMappingURL=vg-fullscreen.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-mute/vg-mute.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, HostListener, ViewEncapsulation, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgMuteComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,5 +10,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -28,11 +16,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -42,12 +24,5 @@ this.target = this.API.getMediaById(this.vgFor);

}
/**
* @return {?}
*/
onClick() {
this.changeMuteState();
}
/**
* @param {?} event
* @return {?}
*/
onKeyDown(event) {

@@ -60,7 +35,3 @@ // On press Enter (13) or Space (32)

}
/**
* @return {?}
*/
changeMuteState() {
/** @type {?} */
const volume = this.getVolume();

@@ -78,7 +49,3 @@ if (volume === 0) {

}
/**
* @return {?}
*/
getVolume() {
/** @type {?} */
const volume = this.target ? this.target.volume : 0;

@@ -88,11 +55,4 @@ this.ariaValue = volume ? 'unmuted' : 'muted';

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -135,3 +95,3 @@ }

`]
}] }
},] }
];

@@ -148,18 +108,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgMuteComponent.prototype.vgFor;
/** @type {?} */
VgMuteComponent.prototype.elem;
/** @type {?} */
VgMuteComponent.prototype.target;
/** @type {?} */
VgMuteComponent.prototype.currentVolume;
/** @type {?} */
VgMuteComponent.prototype.subscriptions;
/** @type {?} */
VgMuteComponent.prototype.ariaValue;
/** @type {?} */
VgMuteComponent.prototype.API;
}
//# sourceMappingURL=vg-mute.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-play-pause/vg-play-pause.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostListener, Input, ViewEncapsulation, } from '@angular/core';
import { VgApiService, VgStates } from '@videogular/ngx-videogular/core';
export class VgPlayPauseComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,5 +10,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -28,24 +16,11 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @return {?}
*/
onClick() {
this.playPause();
}
/**
* @param {?} event
* @return {?}
*/
onKeyDown(event) {

@@ -58,7 +33,3 @@ // On press Enter (13) or Space (32)

}
/**
* @return {?}
*/
playPause() {
/** @type {?} */
const state = this.getState();

@@ -75,5 +46,2 @@ switch (state) {

}
/**
* @return {?}
*/
getState() {

@@ -83,11 +51,4 @@ this.ariaValue = this.target ? this.target.state : VgStates.VG_PAUSED;

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -130,3 +91,3 @@ }

`]
}] }
},] }
];

@@ -143,16 +104,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgPlayPauseComponent.prototype.vgFor;
/** @type {?} */
VgPlayPauseComponent.prototype.elem;
/** @type {?} */
VgPlayPauseComponent.prototype.target;
/** @type {?} */
VgPlayPauseComponent.prototype.subscriptions;
/** @type {?} */
VgPlayPauseComponent.prototype.ariaValue;
/** @type {?} */
VgPlayPauseComponent.prototype.API;
}
//# sourceMappingURL=vg-play-pause.component.js.map

@@ -1,14 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-playback-button/vg-playback-button.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, HostListener, ViewEncapsulation, ChangeDetectorRef, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgPlaybackButtonComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} cdr
*/
constructor(ref, API, cdr) {

@@ -23,5 +13,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -32,24 +19,11 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @return {?}
*/
onClick() {
this.updatePlaybackSpeed();
}
/**
* @param {?} event
* @return {?}
*/
onKeyDown(event) {

@@ -62,5 +36,2 @@ // On press Enter (13) or Space (32)

}
/**
* @return {?}
*/
updatePlaybackSpeed() {

@@ -76,5 +47,2 @@ this.playbackIndex = ++this.playbackIndex % this.playbackValues.length;

}
/**
* @return {?}
*/
getPlaybackRate() {

@@ -84,5 +52,2 @@ this.ariaValue = this.target ? this.target.playbackRate : 1.0;

}
/**
* @return {?}
*/
detectChanges() {

@@ -96,11 +61,4 @@ try {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -144,3 +102,3 @@ }

`]
}] }
},] }
];

@@ -159,22 +117,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgPlaybackButtonComponent.prototype.vgFor;
/** @type {?} */
VgPlaybackButtonComponent.prototype.elem;
/** @type {?} */
VgPlaybackButtonComponent.prototype.target;
/** @type {?} */
VgPlaybackButtonComponent.prototype.playbackValues;
/** @type {?} */
VgPlaybackButtonComponent.prototype.playbackIndex;
/** @type {?} */
VgPlaybackButtonComponent.prototype.subscriptions;
/** @type {?} */
VgPlaybackButtonComponent.prototype.ariaValue;
/** @type {?} */
VgPlaybackButtonComponent.prototype.API;
/** @type {?} */
VgPlaybackButtonComponent.prototype.cdr;
}
//# sourceMappingURL=vg-playback-button.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-quality-selector/vg-quality-selector.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgQualitySelectorComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,24 +10,9 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() { }
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
if (changes.bitrates.currentValue && changes.bitrates.currentValue.length) {
this.bitrates.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => (item.label =
item.label || Math.round(item.bitrate / 1000).toString())));
this.bitrates.forEach((item) => (item.label =
item.label || Math.round(item.bitrate / 1000).toString()));
}
}
/**
* @param {?} index
* @return {?}
*/
selectBitrate(index) {

@@ -46,11 +22,4 @@ this.bitrateSelected = this.bitrates[index];

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -139,3 +108,3 @@ }

`]
}] }
},] }
];

@@ -151,20 +120,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgQualitySelectorComponent.prototype.bitrates;
/** @type {?} */
VgQualitySelectorComponent.prototype.onBitrateChange;
/** @type {?} */
VgQualitySelectorComponent.prototype.bitrateSelected;
/** @type {?} */
VgQualitySelectorComponent.prototype.elem;
/** @type {?} */
VgQualitySelectorComponent.prototype.target;
/** @type {?} */
VgQualitySelectorComponent.prototype.subscriptions;
/** @type {?} */
VgQualitySelectorComponent.prototype.ariaValue;
/** @type {?} */
VgQualitySelectorComponent.prototype.API;
}
//# sourceMappingURL=vg-quality-selector.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-scrub-bar/vg-scrub-bar-buffering-time/vg-scrub-bar-buffering-time.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, ViewEncapsulation, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgScrubBarBufferingTimeComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -18,5 +9,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -27,19 +15,9 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @return {?}
*/
getBufferTime() {
/** @type {?} */
let bufferTime = '0%';

@@ -57,11 +35,4 @@ if (this.target && this.target.buffer && this.target.buffered.length) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -95,3 +66,3 @@ }

`]
}] }
},] }
];

@@ -106,14 +77,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgScrubBarBufferingTimeComponent.prototype.vgFor;
/** @type {?} */
VgScrubBarBufferingTimeComponent.prototype.elem;
/** @type {?} */
VgScrubBarBufferingTimeComponent.prototype.target;
/** @type {?} */
VgScrubBarBufferingTimeComponent.prototype.subscriptions;
/** @type {?} */
VgScrubBarBufferingTimeComponent.prototype.API;
}
//# sourceMappingURL=vg-scrub-bar-buffering-time.component.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-scrub-bar/vg-scrub-bar-cue-points/vg-scrub-bar-cue-points.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewEncapsulation, } from '@angular/core';

@@ -10,6 +5,2 @@ import { VgApiService } from '@videogular/ngx-videogular/core';

export class VgScrubBarCuePointsComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -23,5 +14,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -32,14 +20,7 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
/** @type {?} */
const onTimeUpdate = this.target.subscriptions.loadedMetadata;

@@ -51,5 +32,2 @@ this.subscriptions.push(onTimeUpdate.subscribe(this.onLoadedMetadata.bind(this)));

}
/**
* @return {?}
*/
onLoadedMetadata() {

@@ -61,11 +39,7 @@ if (this.vgCuePoints) {

for (let i = 0, l = this.vgCuePoints.length; i < l; i++) {
/** @type {?} */
const end = this.vgCuePoints[i].endTime >= 0
? this.vgCuePoints[i].endTime
: this.vgCuePoints[i].startTime + 1;
/** @type {?} */
const cuePointDuration = (end - this.vgCuePoints[i].startTime) * 1000;
/** @type {?} */
let position = '0';
/** @type {?} */
let percentWidth = '0';

@@ -80,3 +54,3 @@ if (typeof cuePointDuration === 'number' && this.target.time.total) {

}
((/** @type {?} */ (this.vgCuePoints[i]))).$$style = {
this.vgCuePoints[i].$$style = {
width: percentWidth,

@@ -89,5 +63,2 @@ left: position,

}
/**
* @return {?}
*/
updateCuePoints() {

@@ -100,6 +71,2 @@ if (!this.target) {

}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {

@@ -110,8 +77,4 @@ if (changes.vgCuePoints.currentValue) {

}
/**
* @return {?}
*/
ngDoCheck() {
if (this.vgCuePoints) {
/** @type {?} */
const changes = this.totalCues !== this.vgCuePoints.length;

@@ -124,11 +87,4 @@ if (changes) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -168,3 +124,3 @@ }

`]
}] }
},] }
];

@@ -180,22 +136,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.vgCuePoints;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.vgFor;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.elem;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.target;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.onLoadedMetadataCalled;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.cuePoints;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.subscriptions;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.totalCues;
/** @type {?} */
VgScrubBarCuePointsComponent.prototype.API;
}
//# sourceMappingURL=vg-scrub-bar-cue-points.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, ViewEncapsulation, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgScrubBarCurrentTimeComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,5 +10,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -28,17 +16,8 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @return {?}
*/
getPercentage() {

@@ -50,11 +29,4 @@ return this.target

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -102,3 +74,3 @@ }

`]
}] }
},] }
];

@@ -114,16 +86,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.vgFor;
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.vgSlider;
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.elem;
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.target;
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.subscriptions;
/** @type {?} */
VgScrubBarCurrentTimeComponent.prototype.API;
}
//# sourceMappingURL=vg-scrub-bar-current-time.component.js.map

@@ -1,14 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-scrub-bar/vg-scrub-bar.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, HostListener, ViewEncapsulation, HostBinding, } from '@angular/core';
import { VgControlsHiddenService, VgApiService, VgStates } from '@videogular/ngx-videogular/core';
export class VgScrubBarComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} vgControlsHiddenState
*/
constructor(ref, API, vgControlsHiddenState) {

@@ -22,11 +12,4 @@ this.API = API;

this.elem = ref.nativeElement;
this.subscriptions.push(vgControlsHiddenState.isHidden.subscribe((/**
* @param {?} hide
* @return {?}
*/
(hide) => this.onHideScrubBar(hide))));
this.subscriptions.push(vgControlsHiddenState.isHidden.subscribe((hide) => this.onHideScrubBar(hide)));
}
/**
* @return {?}
*/
ngOnInit() {

@@ -37,18 +20,8 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @protected
* @return {?}
*/
seekStart() {

@@ -63,10 +36,4 @@ if (this.target.canPlay) {

}
/**
* @protected
* @param {?} offset
* @return {?}
*/
seekMove(offset) {
if (this.isSeeking) {
/** @type {?} */
const percentage = Math.max(Math.min((offset * 100) / this.elem.scrollWidth, 99.9), 0);

@@ -77,11 +44,5 @@ this.target.time.current = (percentage * this.target.time.total) / 100;

}
/**
* @protected
* @param {?} offset
* @return {?}
*/
seekEnd(offset) {
this.isSeeking = false;
if (this.target.canPlay) {
/** @type {?} */
const percentage = Math.max(Math.min((offset * 100) / this.elem.scrollWidth, 99.9), 0);

@@ -95,6 +56,2 @@ this.target.seekTime(percentage, true);

}
/**
* @protected
* @return {?}
*/
touchEnd() {

@@ -107,11 +64,4 @@ this.isSeeking = false;

}
/**
* @protected
* @param {?} event
* @return {?}
*/
getTouchOffset(event) {
/** @type {?} */
let offsetLeft = 0;
/** @type {?} */
let element = event.target;

@@ -124,6 +74,2 @@ while (element) {

}
/**
* @param {?} $event
* @return {?}
*/
onMouseDownScrubBar($event) {

@@ -141,6 +87,2 @@ if (this.target) {

}
/**
* @param {?} $event
* @return {?}
*/
onMouseMoveScrubBar($event) {

@@ -153,6 +95,2 @@ if (this.target) {

}
/**
* @param {?} $event
* @return {?}
*/
onMouseUpScrubBar($event) {

@@ -165,6 +103,2 @@ if (this.target) {

}
/**
* @param {?} $event
* @return {?}
*/
onTouchStartScrubBar($event) {

@@ -182,6 +116,2 @@ if (this.target) {

}
/**
* @param {?} $event
* @return {?}
*/
onTouchMoveScrubBar($event) {

@@ -195,6 +125,2 @@ if (this.target) {

// @ts-ignore
/**
* @param {?} _$event
* @return {?}
*/
onTouchCancelScrubBar(_$event) {

@@ -208,6 +134,2 @@ if (this.target) {

// @ts-ignore
/**
* @param {?} _$event
* @return {?}
*/
onTouchEndScrubBar(_$event) {

@@ -220,6 +142,2 @@ if (this.target) {

}
/**
* @param {?} event
* @return {?}
*/
arrowAdjustVolume(event) {

@@ -237,5 +155,2 @@ if (this.target) {

}
/**
* @return {?}
*/
getPercentage() {

@@ -246,18 +161,7 @@ return this.target

}
/**
* @param {?} hide
* @return {?}
*/
onHideScrubBar(hide) {
this.hideScrubBar = hide;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -336,3 +240,3 @@ }

`]
}] }
},] }
];

@@ -358,22 +262,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgScrubBarComponent.prototype.hideScrubBar;
/** @type {?} */
VgScrubBarComponent.prototype.vgFor;
/** @type {?} */
VgScrubBarComponent.prototype.vgSlider;
/** @type {?} */
VgScrubBarComponent.prototype.elem;
/** @type {?} */
VgScrubBarComponent.prototype.target;
/** @type {?} */
VgScrubBarComponent.prototype.isSeeking;
/** @type {?} */
VgScrubBarComponent.prototype.wasPlaying;
/** @type {?} */
VgScrubBarComponent.prototype.subscriptions;
/** @type {?} */
VgScrubBarComponent.prototype.API;
}
//# sourceMappingURL=vg-scrub-bar.component.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-time-display/vg-time-display.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, ViewEncapsulation, Pipe, } from '@angular/core';

@@ -10,17 +5,7 @@ import { VgApiService } from '@videogular/ngx-videogular/core';

export class VgUtcPipe {
/**
* @param {?} value
* @param {?} format
* @return {?}
*/
transform(value, format) {
/** @type {?} */
let date = new Date(value);
/** @type {?} */
let result = format;
/** @type {?} */
let ss = date.getUTCSeconds();
/** @type {?} */
let mm = date.getUTCMinutes();
/** @type {?} */
let hh = date.getUTCHours();

@@ -36,5 +21,5 @@ if (ss < 10) {

}
result = result.replace(/ss/g, (/** @type {?} */ (ss)));
result = result.replace(/mm/g, (/** @type {?} */ (mm)));
result = result.replace(/hh/g, (/** @type {?} */ (hh)));
result = result.replace(/ss/g, ss);
result = result.replace(/mm/g, mm);
result = result.replace(/hh/g, hh);
return result;

@@ -47,6 +32,2 @@ }

export class VgTimeDisplayComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -59,5 +40,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -68,19 +46,9 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
}
/**
* @return {?}
*/
getTime() {
/** @type {?} */
let t = 0;

@@ -93,11 +61,4 @@ if (this.target) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -132,3 +93,3 @@ }

`]
}] }
},] }
];

@@ -145,18 +106,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgTimeDisplayComponent.prototype.vgFor;
/** @type {?} */
VgTimeDisplayComponent.prototype.vgProperty;
/** @type {?} */
VgTimeDisplayComponent.prototype.vgFormat;
/** @type {?} */
VgTimeDisplayComponent.prototype.elem;
/** @type {?} */
VgTimeDisplayComponent.prototype.target;
/** @type {?} */
VgTimeDisplayComponent.prototype.subscriptions;
/** @type {?} */
VgTimeDisplayComponent.prototype.API;
}
//# sourceMappingURL=vg-time-display.component.js.map

@@ -1,25 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-track-selector/vg-track-selector.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewEncapsulation, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
/**
* @record
*/
export function Option() { }
if (false) {
/** @type {?} */
Option.prototype.id;
/** @type {?} */
Option.prototype.label;
/** @type {?} */
Option.prototype.selected;
}
export class VgTrackSelectorComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -30,5 +9,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -39,34 +15,15 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
/** @type {?} */
const subs = Array.from(((/** @type {?} */ (this.API.getMasterMedia().elem))).children)
.filter((/**
* @param {?} item
* @return {?}
*/
(item) => item.tagName === 'TRACK'))
.filter((/**
* @param {?} item
* @return {?}
*/
(item) => item.kind === 'subtitles'))
.map((/**
* @param {?} item
* @return {?}
*/
(item) => ({
const subs = Array.from(this.API.getMasterMedia().elem.children)
.filter((item) => item.tagName === 'TRACK')
.filter((item) => item.kind === 'subtitles')
.map((item) => ({
label: item.label,
selected: item.default === true,
id: item.srclang,
})));
}));
this.tracks = [

@@ -77,30 +34,13 @@ ...subs,

label: 'Off',
selected: subs.every((/**
* @param {?} item
* @return {?}
*/
(item) => item.selected === false)),
selected: subs.every((item) => item.selected === false),
},
];
/** @type {?} */
const track = this.tracks.filter((/**
* @param {?} item
* @return {?}
*/
(item) => item.selected === true))[0];
const track = this.tracks.filter((item) => item.selected === true)[0];
this.trackSelected = track.id;
this.ariaValue = track.label;
}
/**
* @param {?} trackId
* @return {?}
*/
selectTrack(trackId) {
this.trackSelected = trackId === 'null' ? null : trackId;
this.ariaValue = 'No track selected';
Array.from(((/** @type {?} */ (this.API.getMasterMedia().elem))).textTracks).forEach((/**
* @param {?} item
* @return {?}
*/
(item) => {
Array.from(this.API.getMasterMedia().elem.textTracks).forEach((item) => {
if (item.language === trackId) {

@@ -113,13 +53,6 @@ this.ariaValue = item.label;

}
}));
});
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -211,3 +144,3 @@ }

`]
}] }
},] }
];

@@ -222,20 +155,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgTrackSelectorComponent.prototype.vgFor;
/** @type {?} */
VgTrackSelectorComponent.prototype.elem;
/** @type {?} */
VgTrackSelectorComponent.prototype.target;
/** @type {?} */
VgTrackSelectorComponent.prototype.tracks;
/** @type {?} */
VgTrackSelectorComponent.prototype.trackSelected;
/** @type {?} */
VgTrackSelectorComponent.prototype.subscriptions;
/** @type {?} */
VgTrackSelectorComponent.prototype.ariaValue;
/** @type {?} */
VgTrackSelectorComponent.prototype.API;
}
//# sourceMappingURL=vg-track-selector.component.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-volume/vg-volume.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, HostListener, ViewEncapsulation, ViewChild, } from '@angular/core';
import { VgApiService } from '@videogular/ngx-videogular/core';
export class VgVolumeComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,5 +10,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -28,11 +16,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -42,13 +24,5 @@ this.target = this.API.getMediaById(this.vgFor);

}
/**
* @param {?} event
* @return {?}
*/
onClick(event) {
this.setVolume(this.calculateVolume(event.clientX));
}
/**
* @param {?} event
* @return {?}
*/
onMouseDown(event) {

@@ -58,6 +32,2 @@ this.mouseDownPosX = event.clientX;

}
/**
* @param {?} event
* @return {?}
*/
onDrag(event) {

@@ -68,6 +38,2 @@ if (this.isDragging) {

}
/**
* @param {?} event
* @return {?}
*/
onStopDrag(event) {

@@ -81,6 +47,2 @@ if (this.isDragging) {

}
/**
* @param {?} event
* @return {?}
*/
arrowAdjustVolume(event) {

@@ -96,19 +58,8 @@ if (event.keyCode === 38 || event.keyCode === 39) {

}
/**
* @param {?} mousePosX
* @return {?}
*/
calculateVolume(mousePosX) {
/** @type {?} */
const recObj = this.volumeBarRef.nativeElement.getBoundingClientRect();
/** @type {?} */
const volumeBarOffsetLeft = recObj.left;
/** @type {?} */
const volumeBarWidth = recObj.width;
return ((mousePosX - volumeBarOffsetLeft) / volumeBarWidth) * 100;
}
/**
* @param {?} vol
* @return {?}
*/
setVolume(vol) {

@@ -118,17 +69,7 @@ this.target.volume = Math.max(0, Math.min(1, vol / 100));

}
/**
* @return {?}
*/
getVolume() {
return this.target ? this.target.volume : 0;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -220,3 +161,3 @@ }

`]
}] }
},] }
];

@@ -235,22 +176,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgVolumeComponent.prototype.vgFor;
/** @type {?} */
VgVolumeComponent.prototype.volumeBarRef;
/** @type {?} */
VgVolumeComponent.prototype.elem;
/** @type {?} */
VgVolumeComponent.prototype.target;
/** @type {?} */
VgVolumeComponent.prototype.isDragging;
/** @type {?} */
VgVolumeComponent.prototype.mouseDownPosX;
/** @type {?} */
VgVolumeComponent.prototype.ariaValue;
/** @type {?} */
VgVolumeComponent.prototype.subscriptions;
/** @type {?} */
VgVolumeComponent.prototype.API;
}
//# sourceMappingURL=vg-volume.component.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/controls.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -22,3 +17,2 @@ import { CommonModule } from '@angular/common';

import { VgScrubBarCurrentTimeComponent } from './components/vg-scrub-bar/vg-scrub-bar-current-time/vg-scrub-bar-current-time.component';
/** @type {?} */
const components = [

@@ -25,0 +19,0 @@ VgControlsComponent,

/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-controls.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgControlsModule, VgControlsComponent, VgFullscreenComponent, VgMuteComponent, VgPlayPauseComponent, VgPlaybackButtonComponent, VgQualitySelectorComponent, VgUtcPipe, VgTimeDisplayComponent, VgTrackSelectorComponent, VgVolumeComponent, VgScrubBarComponent, VgScrubBarCurrentTimeComponent, VgScrubBarCuePointsComponent, VgScrubBarBufferingTimeComponent } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-controls.js.map

@@ -1,28 +0,23 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgCoreModule } from './lib/core.module';
export * from './lib/core.module';
// interfaces
export {} from './lib/interfaces/bitrate-options.interface';
export {} from './lib/interfaces/i-media-element.interface';
export {} from './lib/interfaces/idrm-license-server.interface';
export {} from './lib/interfaces/ihls-config.interface';
export {} from './lib/interfaces/vg-media-api.interface';
export {} from './lib/interfaces/deprecated-tracks-types.interface';
export * from './lib/interfaces/bitrate-options.interface';
export * from './lib/interfaces/i-media-element.interface';
export * from './lib/interfaces/idrm-license-server.interface';
export * from './lib/interfaces/ihls-config.interface';
export * from './lib/interfaces/vg-media-api.interface';
export * from './lib/interfaces/deprecated-tracks-types.interface';
// classes
export { VgMediaElement } from './lib/directives/vg-media/vg-media-element';
export * from './lib/directives/vg-media/vg-media-element';
// services
export { VgApiService } from './lib/services/vg-api/vg-api.service';
export { VgControlsHiddenService } from './lib/services/vg-controls-hidden/vg-controls-hidden.service';
export { VgFullscreenApiService } from './lib/services/vg-fullscreen-api/vg-fullscreen-api.service';
export { VgUtilsService } from './lib/services/vg-utils/vg-utils.service';
export { VgEvents } from './lib/services/events/vg-events.service';
export { VgStates } from './lib/services/states/vg-states.service';
export * from './lib/services/vg-api/vg-api.service';
export * from './lib/services/vg-controls-hidden/vg-controls-hidden.service';
export * from './lib/services/vg-fullscreen-api/vg-fullscreen-api.service';
export * from './lib/services/vg-utils/vg-utils.service';
export * from './lib/services/events/vg-events.service';
export * from './lib/services/states/vg-states.service';
// directives
export { VgCuePointsDirective } from './lib/directives/vg-cue-points/vg-cue-points.directive';
export { VgMediaDirective } from './lib/directives/vg-media/vg-media.directive';
export * from './lib/directives/vg-cue-points/vg-cue-points.directive';
export * from './lib/directives/vg-media/vg-media.directive';
// components
export { VgPlayerComponent } from './lib/components/vg-player/vg-player.component';
export * from './lib/components/vg-player/vg-player.component';
//# sourceMappingURL=index.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-player/vg-player.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Output, Component, EventEmitter, ElementRef, HostBinding, QueryList, ContentChildren, ViewEncapsulation, } from '@angular/core';

@@ -13,8 +8,2 @@ import { VgApiService } from '../../services/vg-api/vg-api.service';

export class VgPlayerComponent {
/**
* @param {?} ref
* @param {?} api
* @param {?} fsAPI
* @param {?} controlsHidden
*/
constructor(ref, api, fsAPI, controlsHidden) {

@@ -33,13 +22,6 @@ this.api = api;

}
/**
* @return {?}
*/
ngAfterContentInit() {
this.medias.toArray().forEach((/**
* @param {?} media
* @return {?}
*/
(media) => {
this.medias.toArray().forEach((media) => {
this.api.registerMedia(media);
}));
});
this.fsAPI.init(this.elem, this.medias);

@@ -51,6 +33,2 @@ this.subscriptions.push(this.fsAPI.onChangeFullscreen.subscribe(this.onChangeFullscreen.bind(this)));

}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -65,18 +43,7 @@ if (!this.fsAPI.nativeFullscreen) {

}
/**
* @param {?} hidden
* @return {?}
*/
onHideControls(hidden) {
this.areControlsHidden = hidden;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -109,3 +76,3 @@ }

`]
}] }
},] }
];

@@ -128,31 +95,2 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgPlayerComponent.prototype.elem;
/** @type {?} */
VgPlayerComponent.prototype.isFullscreen;
/** @type {?} */
VgPlayerComponent.prototype.isNativeFullscreen;
/** @type {?} */
VgPlayerComponent.prototype.areControlsHidden;
/** @type {?} */
VgPlayerComponent.prototype.zIndex;
/** @type {?} */
VgPlayerComponent.prototype.onPlayerReady;
/** @type {?} */
VgPlayerComponent.prototype.onMediaReady;
/** @type {?} */
VgPlayerComponent.prototype.medias;
/** @type {?} */
VgPlayerComponent.prototype.subscriptions;
/** @type {?} */
VgPlayerComponent.prototype.api;
/** @type {?} */
VgPlayerComponent.prototype.fsAPI;
/**
* @type {?}
* @private
*/
VgPlayerComponent.prototype.controlsHidden;
}
//# sourceMappingURL=vg-player.component.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/core.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -17,3 +12,2 @@ import { CommonModule } from '@angular/common';

import { VgPlayerComponent } from './components/vg-player/vg-player.component';
/** @type {?} */
const services = [

@@ -27,3 +21,2 @@ VgApiService,

];
/** @type {?} */
const directives = [

@@ -30,0 +23,0 @@ VgCuePointsDirective,

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-cue-points/vg-cue-points.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Output, EventEmitter, ElementRef, } from '@angular/core';

@@ -10,5 +5,2 @@ import { fromEvent } from 'rxjs';

export class VgCuePointsDirective {
/**
* @param {?} ref
*/
constructor(ref) {

@@ -24,5 +16,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -32,8 +21,3 @@ this.onLoad$ = fromEvent(this.ref.nativeElement, VgEvents.VG_LOAD);

}
/**
* @param {?} event
* @return {?}
*/
onLoad(event) {
/** @type {?} */
const cues = event.target.track.cues;

@@ -43,12 +27,4 @@ this.ref.nativeElement.cues = cues;

}
/**
* @param {?} cues
* @return {?}
*/
updateCuePoints(cues) {
this.cuesSubscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.cuesSubscriptions.forEach((s) => s.unsubscribe());
for (let i = 0, l = cues.length; i < l; i++) {

@@ -61,22 +37,10 @@ this.onEnter$ = fromEvent(cues[i], VgEvents.VG_ENTER);

}
/**
* @param {?} event
* @return {?}
*/
onEnter(event) {
this.onEnterCuePoint.emit(event.target);
}
/**
* @param {?} event
* @return {?}
*/
onExit(event) {
this.onExitCuePoint.emit(event.target);
}
/**
* @return {?}
*/
ngDoCheck() {
if (this.ref.nativeElement.track && this.ref.nativeElement.track.cues) {
/** @type {?} */
const changes = this.totalCues !== this.ref.nativeElement.track.cues.length;

@@ -90,11 +54,4 @@ if (changes) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -117,26 +74,2 @@ }

};
if (false) {
/** @type {?} */
VgCuePointsDirective.prototype.onEnterCuePoint;
/** @type {?} */
VgCuePointsDirective.prototype.onUpdateCuePoint;
/** @type {?} */
VgCuePointsDirective.prototype.onExitCuePoint;
/** @type {?} */
VgCuePointsDirective.prototype.onCompleteCuePoint;
/** @type {?} */
VgCuePointsDirective.prototype.subscriptions;
/** @type {?} */
VgCuePointsDirective.prototype.cuesSubscriptions;
/** @type {?} */
VgCuePointsDirective.prototype.onLoad$;
/** @type {?} */
VgCuePointsDirective.prototype.onEnter$;
/** @type {?} */
VgCuePointsDirective.prototype.onExit$;
/** @type {?} */
VgCuePointsDirective.prototype.totalCues;
/** @type {?} */
VgCuePointsDirective.prototype.ref;
}
//# sourceMappingURL=vg-cue-points.directive.js.map

@@ -1,10 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-media/vg-media-element.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class VgMediaElement {
/**
* @return {?}
*/
get audioTracks() {

@@ -14,8 +6,2 @@ return null;

// @ts-ignore
/**
* @param {?} kind
* @param {?=} label
* @param {?=} language
* @return {?}
*/
addTextTrack(kind, label, language) {

@@ -25,20 +11,7 @@ return null;

// @ts-ignore
/**
* @param {?} type
* @return {?}
*/
canPlayType(type) {
return null;
}
/**
* @return {?}
*/
load() { }
/**
* @return {?}
*/
msClearEffects() { }
/**
* @return {?}
*/
msGetAsCastingSource() {

@@ -48,28 +21,8 @@ return null;

// @ts-ignore
/**
* @param {?} _activatableClassId
* @param {?} _effectRequired
* @param {?=} _config
* @return {?}
*/
msInsertAudioEffect(_activatableClassId, _effectRequired, _config) { }
// @ts-ignore
/**
* @param {?} mediaKeys
* @return {?}
*/
msSetMediaKeys(mediaKeys) { }
// @ts-ignore
/**
* @param {?=} mediaProtectionManager
* @return {?}
*/
msSetMediaProtectionManager(mediaProtectionManager) { }
/**
* @return {?}
*/
pause() { }
/**
* @return {?}
*/
play() {

@@ -79,6 +32,2 @@ return null;

// @ts-ignore
/**
* @param {?} mediaKeys
* @return {?}
*/
setMediaKeys(mediaKeys) {

@@ -88,110 +37,4 @@ return null;

// @ts-ignore
/**
* @param {?} _type
* @param {?} _listener
* @param {?=} _useCapture
* @return {?}
*/
addEventListener(_type, _listener, _useCapture) { }
}
if (false) {
/** @type {?} */
VgMediaElement.prototype.id;
/** @type {?} */
VgMediaElement.prototype.elem;
/** @type {?} */
VgMediaElement.prototype.autoplay;
/** @type {?} */
VgMediaElement.prototype.buffered;
/** @type {?} */
VgMediaElement.prototype.controls;
/** @type {?} */
VgMediaElement.prototype.crossOrigin;
/** @type {?} */
VgMediaElement.prototype.currentSrc;
/** @type {?} */
VgMediaElement.prototype.currentTime;
/** @type {?} */
VgMediaElement.prototype.defaultMuted;
/** @type {?} */
VgMediaElement.prototype.defaultPlaybackRate;
/** @type {?} */
VgMediaElement.prototype.duration;
/** @type {?} */
VgMediaElement.prototype.ended;
/** @type {?} */
VgMediaElement.prototype.error;
/** @type {?} */
VgMediaElement.prototype.loop;
/** @type {?} */
VgMediaElement.prototype.mediaKeys;
/** @type {?} */
VgMediaElement.prototype.msAudioCategory;
/** @type {?} */
VgMediaElement.prototype.msAudioDeviceType;
/** @type {?} */
VgMediaElement.prototype.msGraphicsTrustStatus;
/** @type {?} */
VgMediaElement.prototype.msKeys;
/** @type {?} */
VgMediaElement.prototype.msPlayToDisabled;
/** @type {?} */
VgMediaElement.prototype.msPlayToPreferredSourceUri;
/** @type {?} */
VgMediaElement.prototype.msPlayToPrimary;
/** @type {?} */
VgMediaElement.prototype.msPlayToSource;
/** @type {?} */
VgMediaElement.prototype.msRealTime;
/** @type {?} */
VgMediaElement.prototype.muted;
/** @type {?} */
VgMediaElement.prototype.networkState;
/** @type {?} */
VgMediaElement.prototype.onencrypted;
/** @type {?} */
VgMediaElement.prototype.onmsneedkey;
/** @type {?} */
VgMediaElement.prototype.paused;
/** @type {?} */
VgMediaElement.prototype.playbackRate;
/** @type {?} */
VgMediaElement.prototype.played;
/** @type {?} */
VgMediaElement.prototype.preload;
/** @type {?} */
VgMediaElement.prototype.readyState;
/** @type {?} */
VgMediaElement.prototype.seekable;
/** @type {?} */
VgMediaElement.prototype.seeking;
/** @type {?} */
VgMediaElement.prototype.src;
/** @type {?} */
VgMediaElement.prototype.srcObject;
/** @type {?} */
VgMediaElement.prototype.textTracks;
/** @type {?} */
VgMediaElement.prototype.videoTracks;
/** @type {?} */
VgMediaElement.prototype.volume;
/** @type {?} */
VgMediaElement.prototype.HAVE_CURRENT_DATA;
/** @type {?} */
VgMediaElement.prototype.HAVE_ENOUGH_DATA;
/** @type {?} */
VgMediaElement.prototype.HAVE_FUTURE_DATA;
/** @type {?} */
VgMediaElement.prototype.HAVE_METADATA;
/** @type {?} */
VgMediaElement.prototype.HAVE_NOTHING;
/** @type {?} */
VgMediaElement.prototype.NETWORK_EMPTY;
/** @type {?} */
VgMediaElement.prototype.NETWORK_IDLE;
/** @type {?} */
VgMediaElement.prototype.NETWORK_LOADING;
/** @type {?} */
VgMediaElement.prototype.NETWORK_NO_SOURCE;
}
//# sourceMappingURL=vg-media-element.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-media/vg-media.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ChangeDetectorRef, } from '@angular/core';

@@ -13,6 +8,2 @@ import { Observable, Subject, fromEvent, timer, combineLatest, } from 'rxjs';

export class VgMediaDirective {
/**
* @param {?} api
* @param {?} ref
*/
constructor(api, ref) {

@@ -37,5 +28,2 @@ this.api = api;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -54,50 +42,38 @@ if (this.vgMedia.nodeName) {

// Native events
abort: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_ABORT),
canPlay: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_CAN_PLAY),
canPlayThrough: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_CAN_PLAY_THROUGH),
durationChange: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_DURATION_CHANGE),
emptied: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_EMPTIED),
encrypted: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_ENCRYPTED),
ended: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_ENDED),
error: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_ERROR),
loadedData: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_LOADED_DATA),
loadedMetadata: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_LOADED_METADATA),
loadStart: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_LOAD_START),
pause: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_PAUSE),
play: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_PLAY),
playing: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_PLAYING),
progress: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_PROGRESS),
rateChange: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_RATE_CHANGE),
seeked: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_SEEKED),
seeking: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_SEEKING),
stalled: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_STALLED),
suspend: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_SUSPEND),
timeUpdate: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_TIME_UPDATE),
volumeChange: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_VOLUME_CHANGE),
waiting: fromEvent((/** @type {?} */ (this.elem)), VgEvents.VG_WAITING),
abort: fromEvent(this.elem, VgEvents.VG_ABORT),
canPlay: fromEvent(this.elem, VgEvents.VG_CAN_PLAY),
canPlayThrough: fromEvent(this.elem, VgEvents.VG_CAN_PLAY_THROUGH),
durationChange: fromEvent(this.elem, VgEvents.VG_DURATION_CHANGE),
emptied: fromEvent(this.elem, VgEvents.VG_EMPTIED),
encrypted: fromEvent(this.elem, VgEvents.VG_ENCRYPTED),
ended: fromEvent(this.elem, VgEvents.VG_ENDED),
error: fromEvent(this.elem, VgEvents.VG_ERROR),
loadedData: fromEvent(this.elem, VgEvents.VG_LOADED_DATA),
loadedMetadata: fromEvent(this.elem, VgEvents.VG_LOADED_METADATA),
loadStart: fromEvent(this.elem, VgEvents.VG_LOAD_START),
pause: fromEvent(this.elem, VgEvents.VG_PAUSE),
play: fromEvent(this.elem, VgEvents.VG_PLAY),
playing: fromEvent(this.elem, VgEvents.VG_PLAYING),
progress: fromEvent(this.elem, VgEvents.VG_PROGRESS),
rateChange: fromEvent(this.elem, VgEvents.VG_RATE_CHANGE),
seeked: fromEvent(this.elem, VgEvents.VG_SEEKED),
seeking: fromEvent(this.elem, VgEvents.VG_SEEKING),
stalled: fromEvent(this.elem, VgEvents.VG_STALLED),
suspend: fromEvent(this.elem, VgEvents.VG_SUSPEND),
timeUpdate: fromEvent(this.elem, VgEvents.VG_TIME_UPDATE),
volumeChange: fromEvent(this.elem, VgEvents.VG_VOLUME_CHANGE),
waiting: fromEvent(this.elem, VgEvents.VG_WAITING),
// Advertisement only events
startAds: fromEvent((/** @type {?} */ (window)), VgEvents.VG_START_ADS),
endAds: fromEvent((/** @type {?} */ (window)), VgEvents.VG_END_ADS),
startAds: fromEvent(window, VgEvents.VG_START_ADS),
endAds: fromEvent(window, VgEvents.VG_END_ADS),
// See changes on <source> child elements to reload the video file
mutation: new Observable((/**
* @param {?} observer
* @return {?}
*/
(observer) => {
/** @type {?} */
const domObs = new MutationObserver((/**
* @param {?} mutations
* @return {?}
*/
(mutations) => {
mutation: new Observable((observer) => {
const domObs = new MutationObserver((mutations) => {
observer.next(mutations);
}));
domObs.observe((/** @type {?} */ (this.elem)), { childList: true, attributes: true });
return (/**
* @return {?}
*/
() => {
});
domObs.observe(this.elem, { childList: true, attributes: true });
return () => {
domObs.disconnect();
});
})),
};
}),
// Custom buffering detection

@@ -120,15 +96,8 @@ bufferDetected: this.bufferDetected,

if (this.vgMaster) {
this.api.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => {
this.api.playerReadyEvent.subscribe(() => {
this.prepareSync();
}));
});
}
}
/**
* @return {?}
*/
prepareSync() {
/** @type {?} */
const canPlayAll = [];

@@ -141,13 +110,4 @@ for (const media in this.api.medias) {

this.canPlayAllSubscription = combineLatest(canPlayAll)
.pipe(map((/**
* @param {...?} params
* @return {?}
*/
(...params) => {
/** @type {?} */
const checkReadyState = (/**
* @param {?} event
* @return {?}
*/
(event) => {
.pipe(map((...params) => {
const checkReadyState = (event) => {
if (!(event === null || event === void 0 ? void 0 : event.target)) {

@@ -157,4 +117,3 @@ return false;

return event.target.readyState === 4;
});
/** @type {?} */
};
const allReady = params.some(checkReadyState);

@@ -165,16 +124,9 @@ if (allReady && !this.syncSubscription) {

}
})))
}))
.subscribe();
}
/**
* @return {?}
*/
startSync() {
this.syncSubscription = timer(0, 1000).subscribe((/**
* @return {?}
*/
() => {
this.syncSubscription = timer(0, 1000).subscribe(() => {
for (const media in this.api.medias) {
if (this.api.medias[media] !== this) {
/** @type {?} */
const diff = this.api.medias[media].currentTime - this.currentTime;

@@ -196,18 +148,13 @@ if (diff < -0.3 || diff > 0.3) {

}
}));
});
}
/**
* @param {?} mutations
* @return {?}
*/
onMutation(mutations) {
// Detect changes only for source elements or src attribute
for (let i = 0, l = mutations.length; i < l; i++) {
/** @type {?} */
const mut = mutations[i];
if (mut.type === 'attributes' && mut.attributeName === 'src') {
// Only load src file if it's not a blob (for DASH / HLS sources)
if (((/** @type {?} */ (mut.target))).src &&
((/** @type {?} */ (mut.target))).src.length > 0 &&
((/** @type {?} */ (mut.target))).src.indexOf('blob:') < 0) {
if (mut.target.src &&
mut.target.src.length > 0 &&
mut.target.src.indexOf('blob:') < 0) {
this.loadMedia();

@@ -225,5 +172,2 @@ break;

}
/**
* @return {?}
*/
loadMedia() {

@@ -237,10 +181,4 @@ this.vgMedia.pause();

// TODO: This is ugly, we should find something cleaner. For some reason a TimerObservable doesn't works.
setTimeout((/**
* @return {?}
*/
() => this.vgMedia.load()), 10);
setTimeout(() => this.vgMedia.load(), 10);
}
/**
* @return {?}
*/
play() {

@@ -256,30 +194,18 @@ // short-circuit if already playing

this.playPromise
.then((/**
* @return {?}
*/
() => {
.then(() => {
this.playPromise = null;
}))
.catch((/**
* @return {?}
*/
() => {
})
.catch(() => {
this.playPromise = null;
// deliberately empty for the sake of eating console noise
}));
});
}
return this.playPromise;
}
/**
* @return {?}
*/
pause() {
// browser has async play promise
if (this.playPromise) {
this.playPromise.then((/**
* @return {?}
*/
() => {
this.playPromise.then(() => {
this.vgMedia.pause();
}));
});
}

@@ -290,8 +216,4 @@ else {

}
/**
* @return {?}
*/
get id() {
// We should return undefined if vgMedia still doesn't exist
/** @type {?} */
let result;

@@ -303,5 +225,2 @@ if (this.vgMedia) {

}
/**
* @return {?}
*/
get duration() {

@@ -312,6 +231,2 @@ return this.vgMedia.duration === Infinity

}
/**
* @param {?} seconds
* @return {?}
*/
set currentTime(seconds) {

@@ -321,43 +236,20 @@ this.vgMedia.currentTime = seconds;

}
/**
* @return {?}
*/
get currentTime() {
return this.vgMedia.currentTime;
}
/**
* @param {?} volume
* @return {?}
*/
set volume(volume) {
this.vgMedia.volume = volume;
}
/**
* @return {?}
*/
get volume() {
return this.vgMedia.volume;
}
/**
* @param {?} rate
* @return {?}
*/
set playbackRate(rate) {
this.vgMedia.playbackRate = rate;
}
/**
* @return {?}
*/
get playbackRate() {
return this.vgMedia.playbackRate;
}
/**
* @return {?}
*/
get buffered() {
return this.vgMedia.buffered;
}
/**
* @return {?}
*/
get textTracks() {

@@ -367,6 +259,2 @@ return this.vgMedia.textTracks;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onCanPlay(event) {

@@ -379,6 +267,2 @@ this.isBufferDetected = false;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onCanPlayThrough(event) {

@@ -391,6 +275,2 @@ this.isBufferDetected = false;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onLoadMetadata(event) {

@@ -405,3 +285,2 @@ this.isMetadataLoaded = true;

// Live streaming check
/** @type {?} */
const t = Math.round(this.time.total);

@@ -412,6 +291,2 @@ this.isLive = t === Infinity;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onWait(event) {

@@ -422,6 +297,2 @@ this.isWaiting = true;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onComplete(event) {

@@ -433,6 +304,2 @@ this.isCompleted = true;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onStartPlaying(event) {

@@ -443,6 +310,2 @@ this.state = VgStates.VG_PLAYING;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onPlay(event) {

@@ -459,6 +322,2 @@ this.state = VgStates.VG_PLAYING;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onPause(event) {

@@ -475,8 +334,3 @@ this.state = VgStates.VG_PAUSED;

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onTimeUpdate(event) {
/** @type {?} */
const end = this.buffered.length - 1;

@@ -494,8 +348,3 @@ this.time = {

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onProgress(event) {
/** @type {?} */
const end = this.buffered.length - 1;

@@ -508,6 +357,2 @@ if (end >= 0) {

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onVolumeChange(event) {

@@ -518,6 +363,2 @@ // TODO: Save to localstorage the current volume

// @ts-ignore
/**
* @param {?} event
* @return {?}
*/
onError(event) {

@@ -528,7 +369,3 @@ // TODO: Handle error messages

// http://stackoverflow.com/a/23828241/779529
/**
* @return {?}
*/
bufferCheck() {
/** @type {?} */
const offset = 1 / this.checkInterval;

@@ -550,16 +387,7 @@ this.currentPlayPos = this.currentTime;

}
/**
* @return {?}
*/
startBufferCheck() {
this.checkBufferSubscription = timer(0, this.checkInterval).subscribe((/**
* @return {?}
*/
() => {
this.checkBufferSubscription = timer(0, this.checkInterval).subscribe(() => {
this.bufferCheck();
}));
});
}
/**
* @return {?}
*/
stopBufferCheck() {

@@ -572,11 +400,4 @@ if (this.checkBufferSubscription) {

}
/**
* @param {?} value
* @param {?=} byPercent
* @return {?}
*/
seekTime(value, byPercent = false) {
/** @type {?} */
let second;
/** @type {?} */
const duration = this.duration;

@@ -591,11 +412,3 @@ if (byPercent) {

}
/**
* @param {?} type
* @param {?=} label
* @param {?=} language
* @param {?=} mode
* @return {?}
*/
addTextTrack(type, label, language, mode) {
/** @type {?} */
const newTrack = this.vgMedia.addTextTrack(type, label, language);

@@ -607,5 +420,2 @@ if (mode) {

}
/**
* @return {?}
*/
ngOnDestroy() {

@@ -651,90 +461,2 @@ this.vgMedia.src = '';

};
if (false) {
/** @type {?} */
VgMediaDirective.prototype.elem;
/** @type {?} */
VgMediaDirective.prototype.vgMedia;
/** @type {?} */
VgMediaDirective.prototype.vgMaster;
/** @type {?} */
VgMediaDirective.prototype.state;
/** @type {?} */
VgMediaDirective.prototype.time;
/** @type {?} */
VgMediaDirective.prototype.buffer;
/** @type {?} */
VgMediaDirective.prototype.track;
/** @type {?} */
VgMediaDirective.prototype.subscriptions;
/** @type {?} */
VgMediaDirective.prototype.canPlay;
/** @type {?} */
VgMediaDirective.prototype.canPlayThrough;
/** @type {?} */
VgMediaDirective.prototype.isMetadataLoaded;
/** @type {?} */
VgMediaDirective.prototype.isWaiting;
/** @type {?} */
VgMediaDirective.prototype.isCompleted;
/** @type {?} */
VgMediaDirective.prototype.isLive;
/** @type {?} */
VgMediaDirective.prototype.isBufferDetected;
/** @type {?} */
VgMediaDirective.prototype.checkInterval;
/** @type {?} */
VgMediaDirective.prototype.currentPlayPos;
/** @type {?} */
VgMediaDirective.prototype.lastPlayPos;
/** @type {?} */
VgMediaDirective.prototype.specifiedDuration;
/** @type {?} */
VgMediaDirective.prototype.checkBufferSubscription;
/** @type {?} */
VgMediaDirective.prototype.syncSubscription;
/** @type {?} */
VgMediaDirective.prototype.canPlayAllSubscription;
/** @type {?} */
VgMediaDirective.prototype.playAtferSync;
/** @type {?} */
VgMediaDirective.prototype.mutationObs;
/** @type {?} */
VgMediaDirective.prototype.canPlayObs;
/** @type {?} */
VgMediaDirective.prototype.canPlayThroughObs;
/** @type {?} */
VgMediaDirective.prototype.loadedMetadataObs;
/** @type {?} */
VgMediaDirective.prototype.waitingObs;
/** @type {?} */
VgMediaDirective.prototype.progressObs;
/** @type {?} */
VgMediaDirective.prototype.endedObs;
/** @type {?} */
VgMediaDirective.prototype.playingObs;
/** @type {?} */
VgMediaDirective.prototype.playObs;
/** @type {?} */
VgMediaDirective.prototype.pauseObs;
/** @type {?} */
VgMediaDirective.prototype.timeUpdateObs;
/** @type {?} */
VgMediaDirective.prototype.volumeChangeObs;
/** @type {?} */
VgMediaDirective.prototype.errorObs;
/** @type {?} */
VgMediaDirective.prototype.bufferDetected;
/** @type {?} */
VgMediaDirective.prototype.playPromise;
/**
* @type {?}
* @private
*/
VgMediaDirective.prototype.api;
/**
* @type {?}
* @private
*/
VgMediaDirective.prototype.ref;
}
//# sourceMappingURL=vg-media.directive.js.map

@@ -1,24 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/bitrate-options.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function BitrateOptions() { }
if (false) {
/** @type {?} */
BitrateOptions.prototype.qualityIndex;
/** @type {?} */
BitrateOptions.prototype.width;
/** @type {?} */
BitrateOptions.prototype.height;
/** @type {?} */
BitrateOptions.prototype.bitrate;
/** @type {?} */
BitrateOptions.prototype.mediaType;
/** @type {?|undefined} */
BitrateOptions.prototype.label;
}
export {};
//# sourceMappingURL=bitrate-options.interface.js.map

@@ -1,181 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/deprecated-tracks-types.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function AudioTrack() { }
if (false) {
/** @type {?} */
AudioTrack.prototype.enabled;
/** @type {?} */
AudioTrack.prototype.id;
/** @type {?} */
AudioTrack.prototype.kind;
/** @type {?} */
AudioTrack.prototype.label;
/** @type {?} */
AudioTrack.prototype.language;
/** @type {?} */
AudioTrack.prototype.sourceBuffer;
}
/**
* @record
*/
export function AudioTrackListEventMap() { }
if (false) {
/** @type {?} */
AudioTrackListEventMap.prototype.addtrack;
/** @type {?} */
AudioTrackListEventMap.prototype.change;
/** @type {?} */
AudioTrackListEventMap.prototype.removetrack;
}
/**
* Used to represent a list of the audio tracks contained within a given HTML media element, with each track represented by a separate AudioTrack object in the list.
* @record
*/
export function AudioTrackList() { }
if (false) {
/** @type {?} */
AudioTrackList.prototype.length;
/** @type {?} */
AudioTrackList.prototype.onaddtrack;
/** @type {?} */
AudioTrackList.prototype.onchange;
/** @type {?} */
AudioTrackList.prototype.onremovetrack;
/* Skipping unhandled member: [index: number]: AudioTrack;*/
/**
* @param {?} id
* @return {?}
*/
AudioTrackList.prototype.getTrackById = function (id) { };
/**
* @param {?} index
* @return {?}
*/
AudioTrackList.prototype.item = function (index) { };
/**
* @template K
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
AudioTrackList.prototype.addEventListener = function (type, listener, options) { };
/**
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
AudioTrackList.prototype.addEventListener = function (type, listener, options) { };
/**
* @template K
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
AudioTrackList.prototype.removeEventListener = function (type, listener, options) { };
/**
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
AudioTrackList.prototype.removeEventListener = function (type, listener, options) { };
}
/**
* A single video track from a <video> element.
* @record
*/
export function VideoTrack() { }
if (false) {
/** @type {?} */
VideoTrack.prototype.id;
/** @type {?} */
VideoTrack.prototype.kind;
/** @type {?} */
VideoTrack.prototype.label;
/** @type {?} */
VideoTrack.prototype.language;
/** @type {?} */
VideoTrack.prototype.selected;
/** @type {?} */
VideoTrack.prototype.sourceBuffer;
}
/**
* @record
*/
export function VideoTrackListEventMap() { }
if (false) {
/** @type {?} */
VideoTrackListEventMap.prototype.addtrack;
/** @type {?} */
VideoTrackListEventMap.prototype.change;
/** @type {?} */
VideoTrackListEventMap.prototype.removetrack;
}
/**
* Used to represent a list of the video tracks contained within a <video> element, with each track represented by a separate VideoTrack object in the list.
* @record
*/
export function VideoTrackList() { }
if (false) {
/** @type {?} */
VideoTrackList.prototype.length;
/** @type {?} */
VideoTrackList.prototype.onaddtrack;
/** @type {?} */
VideoTrackList.prototype.onchange;
/** @type {?} */
VideoTrackList.prototype.onremovetrack;
/** @type {?} */
VideoTrackList.prototype.selectedIndex;
/* Skipping unhandled member: [index: number]: VideoTrack;*/
/**
* @param {?} id
* @return {?}
*/
VideoTrackList.prototype.getTrackById = function (id) { };
/**
* @param {?} index
* @return {?}
*/
VideoTrackList.prototype.item = function (index) { };
/**
* @template K
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
VideoTrackList.prototype.addEventListener = function (type, listener, options) { };
/**
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
VideoTrackList.prototype.addEventListener = function (type, listener, options) { };
/**
* @template K
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
VideoTrackList.prototype.removeEventListener = function (type, listener, options) { };
/**
* @param {?} type
* @param {?} listener
* @param {?=} options
* @return {?}
*/
VideoTrackList.prototype.removeEventListener = function (type, listener, options) { };
}
export {};
//# sourceMappingURL=deprecated-tracks-types.interface.js.map

@@ -1,283 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/i-media-element.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function IMediaElement() { }
if (false) {
/**
* Returns the id of the element.
* @type {?}
*/
IMediaElement.prototype.id;
/**
* Returns the node name. Only available on native HTML tags.
* @type {?|undefined}
*/
IMediaElement.prototype.nodeName;
/**
* Returns the node element. Only available on Angular classes.
* @type {?|undefined}
*/
IMediaElement.prototype.elem;
/**
* Returns an AudioTrackList object with the audio tracks for a given video element.
* @type {?}
*/
IMediaElement.prototype.audioTracks;
/**
* Gets or sets a value that indicates whether to start playing the media automatically.
* @type {?}
*/
IMediaElement.prototype.autoplay;
/**
* Gets a collection of buffered time ranges.
* @type {?}
*/
IMediaElement.prototype.buffered;
/**
* Gets or sets a flag that indicates whether the client provides a set of controls for
* the media (in case the developer does not include controls for the player).
* @type {?}
*/
IMediaElement.prototype.controls;
/** @type {?} */
IMediaElement.prototype.crossOrigin;
/**
* Gets the address or URL of the current media resource that is selected by IHTMLMediaElement.
* @type {?}
*/
IMediaElement.prototype.currentSrc;
/**
* Gets or sets the current playback position, in seconds.
* @type {?}
*/
IMediaElement.prototype.currentTime;
/** @type {?} */
IMediaElement.prototype.defaultMuted;
/**
* Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource.
* @type {?}
*/
IMediaElement.prototype.defaultPlaybackRate;
/**
* Returns the duration in seconds of the current media resource. A NaN value is returned if duration
* is not available, or Infinity if the media resource is streaming.
* @type {?}
*/
IMediaElement.prototype.duration;
/**
* Gets information about whether the playback has ended or not.
* @type {?}
*/
IMediaElement.prototype.ended;
/**
* Returns an object representing the current error state of the audio or video element.
* @type {?}
*/
IMediaElement.prototype.error;
/**
* Gets or sets a flag to specify whether playback should restart after it completes.
* @type {?}
*/
IMediaElement.prototype.loop;
/** @type {?} */
IMediaElement.prototype.mediaKeys;
/**
* Specifies the purpose of the audio or video media, such as background audio or alerts.
* @type {?}
*/
IMediaElement.prototype.msAudioCategory;
/**
* Specifies the output device id that the audio will be sent to.
* @type {?}
*/
IMediaElement.prototype.msAudioDeviceType;
/** @type {?} */
IMediaElement.prototype.msGraphicsTrustStatus;
/**
* Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element.
* @type {?}
*/
IMediaElement.prototype.msKeys;
/**
* Gets or sets whether the DLNA PlayTo device is available.
* @type {?}
*/
IMediaElement.prototype.msPlayToDisabled;
/**
* Gets or sets the path to the preferred media source. This enables the Play To target device to
* stream the media content, which can be DRM protected, from a different location, such as a cloud media server.
* @type {?}
*/
IMediaElement.prototype.msPlayToPreferredSourceUri;
/**
* Gets or sets the primary DLNA PlayTo device.
* @type {?}
*/
IMediaElement.prototype.msPlayToPrimary;
/**
* Gets the source associated with the media element for use by the PlayToManager.
* @type {?}
*/
IMediaElement.prototype.msPlayToSource;
/**
* Specifies whether or not to enable low-latency playback on the media element.
* @type {?}
*/
IMediaElement.prototype.msRealTime;
/**
* Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted.
* @type {?}
*/
IMediaElement.prototype.muted;
/**
* Gets the current network activity for the element.
* @type {?}
*/
IMediaElement.prototype.networkState;
/** @type {?} */
IMediaElement.prototype.onencrypted;
/** @type {?} */
IMediaElement.prototype.onmsneedkey;
/**
* Gets a flag that specifies whether playback is paused.
* @type {?}
*/
IMediaElement.prototype.paused;
/**
* Gets or sets the current rate of speed for the media resource to play. This speed is
* expressed as a multiple of the normal speed of the media resource.
* @type {?}
*/
IMediaElement.prototype.playbackRate;
/**
* Gets TimeRanges for the current media resource that has been played.
* @type {?}
*/
IMediaElement.prototype.played;
/**
* Gets or sets the current playback position, in seconds.
* @type {?}
*/
IMediaElement.prototype.preload;
/** @type {?} */
IMediaElement.prototype.readyState;
/**
* Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked.
* @type {?}
*/
IMediaElement.prototype.seekable;
/**
* Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource.
* @type {?}
*/
IMediaElement.prototype.seeking;
/**
* The address or URL of the a media resource that is to be considered.
* @type {?}
*/
IMediaElement.prototype.src;
/** @type {?} */
IMediaElement.prototype.srcObject;
/** @type {?} */
IMediaElement.prototype.textTracks;
/** @type {?} */
IMediaElement.prototype.videoTracks;
/**
* Gets or sets the volume level for audio portions of the media element.
* @type {?}
*/
IMediaElement.prototype.volume;
/** @type {?} */
IMediaElement.prototype.HAVE_CURRENT_DATA;
/** @type {?} */
IMediaElement.prototype.HAVE_ENOUGH_DATA;
/** @type {?} */
IMediaElement.prototype.HAVE_FUTURE_DATA;
/** @type {?} */
IMediaElement.prototype.HAVE_METADATA;
/** @type {?} */
IMediaElement.prototype.HAVE_NOTHING;
/** @type {?} */
IMediaElement.prototype.NETWORK_EMPTY;
/** @type {?} */
IMediaElement.prototype.NETWORK_IDLE;
/** @type {?} */
IMediaElement.prototype.NETWORK_LOADING;
/** @type {?} */
IMediaElement.prototype.NETWORK_NO_SOURCE;
/**
* @param {?} kind
* @param {?=} label
* @param {?=} language
* @return {?}
*/
IMediaElement.prototype.addTextTrack = function (kind, label, language) { };
/**
* Returns a string that specifies whether the client can play a given media resource type.
* @param {?} type
* @return {?}
*/
IMediaElement.prototype.canPlayType = function (type) { };
/**
* Resets the audio or video object and loads a new media resource.
* @return {?}
*/
IMediaElement.prototype.load = function () { };
/**
* Clears all effects from the media pipeline.
* @return {?}
*/
IMediaElement.prototype.msClearEffects = function () { };
/**
* @return {?}
*/
IMediaElement.prototype.msGetAsCastingSource = function () { };
/**
* Inserts the specified audio effect into media pipeline.
* @param {?} activatableClassId
* @param {?} effectRequired
* @param {?=} config
* @return {?}
*/
IMediaElement.prototype.msInsertAudioEffect = function (activatableClassId, effectRequired, config) { };
/**
* @param {?} mediaKeys
* @return {?}
*/
IMediaElement.prototype.msSetMediaKeys = function (mediaKeys) { };
/**
* Specifies the media protection manager for a given media pipeline.
* @param {?=} mediaProtectionManager
* @return {?}
*/
IMediaElement.prototype.msSetMediaProtectionManager = function (mediaProtectionManager) { };
/**
* Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is
* playing or paused. You can also use the pause or play events to tell whether the media is playing or not.
* @return {?}
*/
IMediaElement.prototype.pause = function () { };
/**
* Loads and starts playback of a media resource.
* @return {?}
*/
IMediaElement.prototype.play = function () { };
/**
* @param {?} mediaKeys
* @return {?}
*/
IMediaElement.prototype.setMediaKeys = function (mediaKeys) { };
/**
* @param {?} type
* @param {?} listener
* @param {?=} useCapture
* @return {?}
*/
IMediaElement.prototype.addEventListener = function (type, listener, useCapture) { };
}
export {};
//# sourceMappingURL=i-media-element.interface.js.map

@@ -1,10 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/idrm-license-server.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function IDRMLicenseServer() { }
export {};
//# sourceMappingURL=idrm-license-server.interface.js.map

@@ -1,112 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/ihls-config.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function IHLSConfig() { }
if (false) {
/** @type {?} */
IHLSConfig.prototype.abrController;
/** @type {?} */
IHLSConfig.prototype.fLoader;
/** @type {?} */
IHLSConfig.prototype.fetchSetup;
/** @type {?} */
IHLSConfig.prototype.loader;
/** @type {?} */
IHLSConfig.prototype.pLoader;
/** @type {?} */
IHLSConfig.prototype.timelineController;
/** @type {?} */
IHLSConfig.prototype.xhrSetup;
/** @type {?} */
IHLSConfig.prototype.startLevel;
/** @type {?} */
IHLSConfig.prototype.defaultAudioCodec;
/** @type {?} */
IHLSConfig.prototype.autoStartLoad;
/** @type {?} */
IHLSConfig.prototype.startPosition;
/** @type {?} */
IHLSConfig.prototype.capLevelToPlayerSize;
/** @type {?} */
IHLSConfig.prototype.debug;
/** @type {?} */
IHLSConfig.prototype.initialLiveManifestSize;
/** @type {?} */
IHLSConfig.prototype.maxBufferLength;
/** @type {?} */
IHLSConfig.prototype.maxMaxBufferLength;
/** @type {?} */
IHLSConfig.prototype.maxBufferSize;
/** @type {?} */
IHLSConfig.prototype.maxBufferHole;
/** @type {?} */
IHLSConfig.prototype.maxSeekHole;
/** @type {?} */
IHLSConfig.prototype.seekHoleNudgeDuration;
/** @type {?} */
IHLSConfig.prototype.maxFragLookUpTolerance;
/** @type {?} */
IHLSConfig.prototype.liveSyncDurationCount;
/** @type {?} */
IHLSConfig.prototype.liveMaxLatencyDurationCount;
/** @type {?} */
IHLSConfig.prototype.enableWorker;
/** @type {?} */
IHLSConfig.prototype.enableSoftwareAES;
/** @type {?} */
IHLSConfig.prototype.manifestLoadingTimeOut;
/** @type {?} */
IHLSConfig.prototype.manifestLoadingMaxRetry;
/** @type {?} */
IHLSConfig.prototype.manifestLoadingRetryDelay;
/** @type {?} */
IHLSConfig.prototype.manifestLoadingMaxRetryTimeout;
/** @type {?} */
IHLSConfig.prototype.levelLoadingTimeOut;
/** @type {?} */
IHLSConfig.prototype.levelLoadingMaxRetry;
/** @type {?} */
IHLSConfig.prototype.levelLoadingRetryDelay;
/** @type {?} */
IHLSConfig.prototype.levelLoadingMaxRetryTimeout;
/** @type {?} */
IHLSConfig.prototype.fragLoadingTimeOut;
/** @type {?} */
IHLSConfig.prototype.fragLoadingMaxRetry;
/** @type {?} */
IHLSConfig.prototype.fragLoadingRetryDelay;
/** @type {?} */
IHLSConfig.prototype.fragLoadingMaxRetryTimeout;
/** @type {?} */
IHLSConfig.prototype.startFragPrefech;
/** @type {?} */
IHLSConfig.prototype.appendErrorMaxRetry;
/** @type {?} */
IHLSConfig.prototype.enableCEA708Captions;
/** @type {?} */
IHLSConfig.prototype.stretchShortVideoTrack;
/** @type {?} */
IHLSConfig.prototype.forceKeyFrameOnDiscontinuity;
/** @type {?} */
IHLSConfig.prototype.abrEwmaFastLive;
/** @type {?} */
IHLSConfig.prototype.abrEwmaSlowLive;
/** @type {?} */
IHLSConfig.prototype.abrEwmaFastVoD;
/** @type {?} */
IHLSConfig.prototype.abrEwmaSlowVoD;
/** @type {?} */
IHLSConfig.prototype.abrEwmaDefaultEstimate;
/** @type {?} */
IHLSConfig.prototype.abrBandWidthFactor;
/** @type {?} */
IHLSConfig.prototype.abrBandWidthUpFactor;
/** @type {?} */
IHLSConfig.prototype.minAutoBitrate;
}
export {};
//# sourceMappingURL=ihls-config.interface.js.map

@@ -1,110 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/vg-media-api.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function IPlayable() { }
if (false) {
/** @type {?} */
IPlayable.prototype.id;
/** @type {?} */
IPlayable.prototype.elem;
/** @type {?} */
IPlayable.prototype.time;
/** @type {?} */
IPlayable.prototype.buffer;
/** @type {?|undefined} */
IPlayable.prototype.track;
/** @type {?} */
IPlayable.prototype.canPlay;
/** @type {?} */
IPlayable.prototype.canPlayThrough;
/** @type {?} */
IPlayable.prototype.isMetadataLoaded;
/** @type {?} */
IPlayable.prototype.isWaiting;
/** @type {?} */
IPlayable.prototype.isCompleted;
/** @type {?} */
IPlayable.prototype.isLive;
/** @type {?} */
IPlayable.prototype.textTracks;
/** @type {?} */
IPlayable.prototype.state;
/** @type {?} */
IPlayable.prototype.subscriptions;
/** @type {?} */
IPlayable.prototype.duration;
/** @type {?} */
IPlayable.prototype.currentTime;
/** @type {?} */
IPlayable.prototype.play;
/** @type {?} */
IPlayable.prototype.pause;
/** @type {?|undefined} */
IPlayable.prototype.addTextTrack;
/** @type {?|undefined} */
IPlayable.prototype.dispatchEvent;
}
/**
* @record
*/
export function IMediaSubscriptions() { }
if (false) {
/** @type {?} */
IMediaSubscriptions.prototype.abort;
/** @type {?} */
IMediaSubscriptions.prototype.bufferDetected;
/** @type {?} */
IMediaSubscriptions.prototype.canPlay;
/** @type {?} */
IMediaSubscriptions.prototype.canPlayThrough;
/** @type {?} */
IMediaSubscriptions.prototype.durationChange;
/** @type {?} */
IMediaSubscriptions.prototype.emptied;
/** @type {?} */
IMediaSubscriptions.prototype.encrypted;
/** @type {?} */
IMediaSubscriptions.prototype.ended;
/** @type {?} */
IMediaSubscriptions.prototype.error;
/** @type {?} */
IMediaSubscriptions.prototype.loadedData;
/** @type {?} */
IMediaSubscriptions.prototype.loadedMetadata;
/** @type {?} */
IMediaSubscriptions.prototype.loadStart;
/** @type {?} */
IMediaSubscriptions.prototype.pause;
/** @type {?} */
IMediaSubscriptions.prototype.play;
/** @type {?} */
IMediaSubscriptions.prototype.playing;
/** @type {?} */
IMediaSubscriptions.prototype.progress;
/** @type {?} */
IMediaSubscriptions.prototype.rateChange;
/** @type {?} */
IMediaSubscriptions.prototype.seeked;
/** @type {?} */
IMediaSubscriptions.prototype.seeking;
/** @type {?} */
IMediaSubscriptions.prototype.stalled;
/** @type {?} */
IMediaSubscriptions.prototype.suspend;
/** @type {?} */
IMediaSubscriptions.prototype.timeUpdate;
/** @type {?} */
IMediaSubscriptions.prototype.volumeChange;
/** @type {?} */
IMediaSubscriptions.prototype.waiting;
/** @type {?} */
IMediaSubscriptions.prototype.startAds;
/** @type {?} */
IMediaSubscriptions.prototype.endAds;
}
export {};
//# sourceMappingURL=vg-media-api.interface.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/events/vg-events.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';

@@ -39,2 +34,3 @@ import * as i0 from "@angular/core";

VgEvents.VG_END_ADS = 'endads';
/** @nocollapse */ VgEvents.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgEvents_Factory() { return new VgEvents(); }, token: VgEvents, providedIn: "root" });
VgEvents.decorators = [

@@ -45,63 +41,2 @@ { type: Injectable, args: [{

];
/** @nocollapse */ VgEvents.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgEvents_Factory() { return new VgEvents(); }, token: VgEvents, providedIn: "root" });
if (false) {
/** @type {?} */
VgEvents.VG_ABORT;
/** @type {?} */
VgEvents.VG_CAN_PLAY;
/** @type {?} */
VgEvents.VG_CAN_PLAY_THROUGH;
/** @type {?} */
VgEvents.VG_DURATION_CHANGE;
/** @type {?} */
VgEvents.VG_EMPTIED;
/** @type {?} */
VgEvents.VG_ENCRYPTED;
/** @type {?} */
VgEvents.VG_ENDED;
/** @type {?} */
VgEvents.VG_ERROR;
/** @type {?} */
VgEvents.VG_LOADED_DATA;
/** @type {?} */
VgEvents.VG_LOADED_METADATA;
/** @type {?} */
VgEvents.VG_LOAD_START;
/** @type {?} */
VgEvents.VG_PAUSE;
/** @type {?} */
VgEvents.VG_PLAY;
/** @type {?} */
VgEvents.VG_PLAYING;
/** @type {?} */
VgEvents.VG_PROGRESS;
/** @type {?} */
VgEvents.VG_RATE_CHANGE;
/** @type {?} */
VgEvents.VG_SEEK;
/** @type {?} */
VgEvents.VG_SEEKED;
/** @type {?} */
VgEvents.VG_SEEKING;
/** @type {?} */
VgEvents.VG_STALLED;
/** @type {?} */
VgEvents.VG_SUSPEND;
/** @type {?} */
VgEvents.VG_TIME_UPDATE;
/** @type {?} */
VgEvents.VG_VOLUME_CHANGE;
/** @type {?} */
VgEvents.VG_WAITING;
/** @type {?} */
VgEvents.VG_LOAD;
/** @type {?} */
VgEvents.VG_ENTER;
/** @type {?} */
VgEvents.VG_EXIT;
/** @type {?} */
VgEvents.VG_START_ADS;
/** @type {?} */
VgEvents.VG_END_ADS;
}
//# sourceMappingURL=vg-events.service.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/states/vg-states.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';

@@ -14,2 +9,3 @@ import * as i0 from "@angular/core";

VgStates.VG_LOADING = 'waiting';
/** @nocollapse */ VgStates.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgStates_Factory() { return new VgStates(); }, token: VgStates, providedIn: "root" });
VgStates.decorators = [

@@ -20,13 +16,2 @@ { type: Injectable, args: [{

];
/** @nocollapse */ VgStates.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgStates_Factory() { return new VgStates(); }, token: VgStates, providedIn: "root" });
if (false) {
/** @type {?} */
VgStates.VG_ENDED;
/** @type {?} */
VgStates.VG_PAUSED;
/** @type {?} */
VgStates.VG_PLAYING;
/** @type {?} */
VgStates.VG_LOADING;
}
//# sourceMappingURL=vg-states.service.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/vg-api/vg-api.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, EventEmitter } from '@angular/core';

@@ -15,6 +10,2 @@ import { VgStates } from '../states/vg-states.service';

}
/**
* @param {?} fsAPI
* @return {?}
*/
onPlayerReady(fsAPI) {

@@ -25,5 +16,2 @@ this.fsAPI = fsAPI;

}
/**
* @return {?}
*/
getDefaultMedia() {

@@ -36,7 +24,3 @@ for (const item in this.medias) {

}
/**
* @return {?}
*/
getMasterMedia() {
/** @type {?} */
let master;

@@ -52,7 +36,3 @@ for (const id in this.medias) {

}
/**
* @return {?}
*/
isMasterDefined() {
/** @type {?} */
let result = false;

@@ -68,8 +48,3 @@ for (const id in this.medias) {

}
/**
* @param {?=} id
* @return {?}
*/
getMediaById(id = null) {
/** @type {?} */
let media = this.medias[id];

@@ -81,5 +56,2 @@ if (!id || id === '*') {

}
/**
* @return {?}
*/
play() {

@@ -92,5 +64,2 @@ for (const id in this.medias) {

}
/**
* @return {?}
*/
pause() {

@@ -103,137 +72,65 @@ for (const id in this.medias) {

}
/**
* @return {?}
*/
get duration() {
return this.$$getAllProperties('duration');
}
/**
* @param {?} seconds
* @return {?}
*/
set currentTime(seconds) {
this.$$setAllProperties('currentTime', seconds);
}
/**
* @return {?}
*/
get currentTime() {
return this.$$getAllProperties('currentTime');
}
/**
* @param {?} state
* @return {?}
*/
set state(state) {
this.$$setAllProperties('state', state);
}
/**
* @return {?}
*/
get state() {
return this.$$getAllProperties('state');
}
/**
* @param {?} volume
* @return {?}
*/
set volume(volume) {
this.$$setAllProperties('volume', volume);
}
/**
* @return {?}
*/
get volume() {
return this.$$getAllProperties('volume');
}
/**
* @param {?} rate
* @return {?}
*/
set playbackRate(rate) {
this.$$setAllProperties('playbackRate', rate);
}
/**
* @return {?}
*/
get playbackRate() {
return this.$$getAllProperties('playbackRate');
}
/**
* @return {?}
*/
get canPlay() {
return this.$$getAllProperties('canPlay');
}
/**
* @return {?}
*/
get canPlayThrough() {
return this.$$getAllProperties('canPlayThrough');
}
/**
* @return {?}
*/
get isMetadataLoaded() {
return this.$$getAllProperties('isMetadataLoaded');
}
/**
* @return {?}
*/
get isWaiting() {
return this.$$getAllProperties('isWaiting');
}
/**
* @return {?}
*/
get isCompleted() {
return this.$$getAllProperties('isCompleted');
}
/**
* @return {?}
*/
get isLive() {
return this.$$getAllProperties('isLive');
}
/**
* @return {?}
*/
get isMaster() {
return this.$$getAllProperties('isMaster');
}
/**
* @return {?}
*/
get time() {
return this.$$getAllProperties('time');
}
/**
* @return {?}
*/
get buffer() {
return this.$$getAllProperties('buffer');
}
/**
* @return {?}
*/
get buffered() {
return this.$$getAllProperties('buffered');
}
/**
* @return {?}
*/
get subscriptions() {
return this.$$getAllProperties('subscriptions');
}
/**
* @return {?}
*/
get textTracks() {
return this.$$getAllProperties('textTracks');
}
/**
* @param {?} value
* @param {?=} byPercent
* @return {?}
*/
seekTime(value, byPercent = false) {

@@ -246,12 +143,4 @@ for (const id in this.medias) {

}
/**
* @param {?} media
* @param {?} value
* @param {?=} byPercent
* @return {?}
*/
$$seek(media, value, byPercent = false) {
/** @type {?} */
let second;
/** @type {?} */
let duration = media.duration;

@@ -269,8 +158,2 @@ if (byPercent) {

}
/**
* @param {?} type
* @param {?=} label
* @param {?=} language
* @return {?}
*/
addTextTrack(type, label, language) {

@@ -283,20 +166,7 @@ for (const id in this.medias) {

}
/**
* @param {?} media
* @param {?} type
* @param {?=} label
* @param {?=} language
* @return {?}
*/
$$addTextTrack(media, type, label, language) {
media.addTextTrack(type, label, language);
}
/**
* @param {?} property
* @return {?}
*/
$$getAllProperties(property) {
/** @type {?} */
const medias = {};
/** @type {?} */
let result;

@@ -308,3 +178,2 @@ for (const id in this.medias) {

}
/** @type {?} */
const nMedias = Object.keys(medias).length;

@@ -329,3 +198,2 @@ switch (nMedias) {

// If there's only one media element then return the plain value
/** @type {?} */
const firstMediaId = Object.keys(medias)[0];

@@ -336,3 +204,2 @@ result = medias[firstMediaId][property];

// TODO: return 'master' value
/** @type {?} */
const master = this.getMasterMedia();

@@ -343,7 +210,2 @@ result = medias[master.id][property];

}
/**
* @param {?} property
* @param {?} value
* @return {?}
*/
$$setAllProperties(property, value) {

@@ -356,20 +218,8 @@ for (const id in this.medias) {

}
/**
* @param {?} elem
* @return {?}
*/
registerElement(elem) {
this.videogularElement = elem;
}
/**
* @param {?} media
* @return {?}
*/
registerMedia(media) {
this.medias[media.id] = media;
}
/**
* @param {?} media
* @return {?}
*/
unregisterMedia(media) {

@@ -379,2 +229,3 @@ delete this.medias[media.id];

}
/** @nocollapse */ VgApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgApiService_Factory() { return new VgApiService(); }, token: VgApiService, providedIn: "root" });
VgApiService.decorators = [

@@ -387,15 +238,2 @@ { type: Injectable, args: [{

VgApiService.ctorParameters = () => [];
/** @nocollapse */ VgApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgApiService_Factory() { return new VgApiService(); }, token: VgApiService, providedIn: "root" });
if (false) {
/** @type {?} */
VgApiService.prototype.medias;
/** @type {?} */
VgApiService.prototype.videogularElement;
/** @type {?} */
VgApiService.prototype.playerReadyEvent;
/** @type {?} */
VgApiService.prototype.isPlayerReady;
/** @type {?} */
VgApiService.prototype.fsAPI;
}
//# sourceMappingURL=vg-api.service.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/vg-controls-hidden/vg-controls-hidden.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';

@@ -14,6 +9,2 @@ import { Subject } from 'rxjs';

}
/**
* @param {?} hidden
* @return {?}
*/
state(hidden) {

@@ -23,2 +14,3 @@ this.isHiddenSubject.next(hidden);

}
/** @nocollapse */ VgControlsHiddenService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgControlsHiddenService_Factory() { return new VgControlsHiddenService(); }, token: VgControlsHiddenService, providedIn: "root" });
VgControlsHiddenService.decorators = [

@@ -31,12 +23,2 @@ { type: Injectable, args: [{

VgControlsHiddenService.ctorParameters = () => [];
/** @nocollapse */ VgControlsHiddenService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgControlsHiddenService_Factory() { return new VgControlsHiddenService(); }, token: VgControlsHiddenService, providedIn: "root" });
if (false) {
/** @type {?} */
VgControlsHiddenService.prototype.isHidden;
/**
* @type {?}
* @private
*/
VgControlsHiddenService.prototype.isHiddenSubject;
}
//# sourceMappingURL=vg-controls-hidden.service.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/vg-fullscreen-api/vg-fullscreen-api.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, EventEmitter } from '@angular/core';

@@ -16,11 +11,5 @@ import { VgUtilsService } from '../vg-utils/vg-utils.service';

}
/**
* @param {?} elem
* @param {?} medias
* @return {?}
*/
init(elem, medias) {
this.videogularElement = elem;
this.medias = medias;
/** @type {?} */
const APIs = {

@@ -65,3 +54,2 @@ w3: {

onchange: 'webkitendfullscreen',
// Hack for iOS: webkitfullscreenchange it's not firing
onerror: 'webkitfullscreenerror',

@@ -91,3 +79,2 @@ },

}
/** @type {?} */
let fsElemDispatcher;

@@ -108,12 +95,6 @@ switch (this.polyfill.onchange) {

}
this.fsChangeSubscription = fromEvent(fsElemDispatcher, this.polyfill.onchange).subscribe((/**
* @return {?}
*/
() => {
this.fsChangeSubscription = fromEvent(fsElemDispatcher, this.polyfill.onchange).subscribe(() => {
this.onFullscreenChange();
}));
});
}
/**
* @return {?}
*/
onFullscreenChange() {

@@ -123,6 +104,2 @@ this.isFullscreen = !!document[this.polyfill.element];

}
/**
* @param {?=} element
* @return {?}
*/
toggleFullscreen(element = null) {

@@ -136,6 +113,2 @@ if (this.isFullscreen) {

}
/**
* @param {?} elem
* @return {?}
*/
request(elem) {

@@ -164,12 +137,5 @@ if (!elem) {

}
/**
* @param {?} elem
* @return {?}
*/
enterElementInFullScreen(elem) {
elem[this.polyfill.request]();
}
/**
* @return {?}
*/
exit() {

@@ -184,2 +150,3 @@ this.isFullscreen = false;

}
/** @nocollapse */ VgFullscreenApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgFullscreenApiService_Factory() { return new VgFullscreenApiService(); }, token: VgFullscreenApiService, providedIn: "root" });
VgFullscreenApiService.decorators = [

@@ -192,25 +159,2 @@ { type: Injectable, args: [{

VgFullscreenApiService.ctorParameters = () => [];
/** @nocollapse */ VgFullscreenApiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgFullscreenApiService_Factory() { return new VgFullscreenApiService(); }, token: VgFullscreenApiService, providedIn: "root" });
if (false) {
/** @type {?} */
VgFullscreenApiService.prototype.polyfill;
/** @type {?} */
VgFullscreenApiService.prototype.onchange;
/** @type {?} */
VgFullscreenApiService.prototype.onerror;
/** @type {?} */
VgFullscreenApiService.prototype.nativeFullscreen;
/** @type {?} */
VgFullscreenApiService.prototype.isFullscreen;
/** @type {?} */
VgFullscreenApiService.prototype.isAvailable;
/** @type {?} */
VgFullscreenApiService.prototype.videogularElement;
/** @type {?} */
VgFullscreenApiService.prototype.medias;
/** @type {?} */
VgFullscreenApiService.prototype.fsChangeSubscription;
/** @type {?} */
VgFullscreenApiService.prototype.onChangeFullscreen;
}
//# sourceMappingURL=vg-fullscreen-api.service.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/services/vg-utils/vg-utils.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';

@@ -12,10 +7,6 @@ import * as i0 from "@angular/core";

* https://gist.github.com/paulirish/211209
* @return {?}
*/
static getZIndex() {
/** @type {?} */
let zIndex = 1;
/** @type {?} */
let elementZIndex;
/** @type {?} */
const tags = document.getElementsByTagName('*');

@@ -31,5 +22,2 @@ for (let i = 0, l = tags.length; i < l; i++) {

// Very simple mobile detection, not 100% reliable
/**
* @return {?}
*/
static isMobileDevice() {

@@ -44,5 +32,2 @@ // return (

}
/**
* @return {?}
*/
static isiOSDevice() {

@@ -52,5 +37,2 @@ return (navigator.userAgent.match(/ip(hone|ad|od)/i) &&

}
/**
* @return {?}
*/
static isCordova() {

@@ -61,2 +43,3 @@ return (document.URL.indexOf('http://') === -1 &&

}
/** @nocollapse */ VgUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgUtilsService_Factory() { return new VgUtilsService(); }, token: VgUtilsService, providedIn: "root" });
VgUtilsService.decorators = [

@@ -67,3 +50,2 @@ { type: Injectable, args: [{

];
/** @nocollapse */ VgUtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function VgUtilsService_Factory() { return new VgUtilsService(); }, token: VgUtilsService, providedIn: "root" });
//# sourceMappingURL=vg-utils.service.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-core.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgCoreModule, VgMediaElement, VgApiService, VgControlsHiddenService, VgFullscreenApiService, VgUtilsService, VgEvents, VgStates, VgCuePointsDirective, VgMediaDirective, VgPlayerComponent } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-core.js.map

@@ -1,8 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgImaAdsModule } from './lib/ima-ads.module';
export { VgImaAdsComponent, Ima } from './lib/vg-ima-ads.component';
export * from './lib/ima-ads.module';
export * from './lib/vg-ima-ads.component';
// export './lib/google.ima';
//# sourceMappingURL=index.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/google.ima.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
//# sourceMappingURL=google.ima.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/ima-ads.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -7,0 +2,0 @@ import { CommonModule } from '@angular/common';

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-ima-ads.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import './google.ima';

@@ -10,7 +5,2 @@ import { Component, ElementRef, Input, HostBinding, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';

export class VgImaAdsComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
*/
constructor(ref, API, fsAPI) {

@@ -29,5 +19,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -38,11 +25,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -62,9 +43,6 @@ if (typeof google === 'undefined') {

}
/**
* @return {?}
*/
initializations() {
this.ima = new Ima(this.elem, this.vgSkipButtonLocale);
if (this.vgSkipButton) {
this.skipButton = (/** @type {?} */ (document.querySelector(this.vgSkipButton)));
this.skipButton = document.querySelector(this.vgSkipButton);
this.skipButton.style.display = 'none';

@@ -74,9 +52,4 @@ this.skipButton.addEventListener('click', this.onClickSkip.bind(this));

}
window.addEventListener('resize', (/**
* @return {?}
*/
() => {
/** @type {?} */
window.addEventListener('resize', () => {
const w = this.API.videogularElement.offsetWidth;
/** @type {?} */
const h = this.API.videogularElement.offsetHeight;

@@ -91,16 +64,8 @@ if (this.ima.adsManager) {

}
}));
});
}
/**
* @return {?}
*/
loadAds() {
if (this.vgCompanion) {
googletag.cmd.push((/**
* @return {?}
*/
() => {
/** @type {?} */
googletag.cmd.push(() => {
const adUnitPath = '/' + this.vgNetwork + '/' + this.vgUnitPath;
/** @type {?} */
const slot = googletag.defineSlot(adUnitPath, this.vgCompanionSize, this.vgCompanion);

@@ -114,9 +79,5 @@ if (slot) {

}
}));
});
}
}
/**
* @param {?} event
* @return {?}
*/
onUpdateState(event) {

@@ -134,12 +95,6 @@ switch (event.type) {

}
/**
* @param {?} adTagUrl
* @return {?}
*/
requestAds(adTagUrl) {
// Show only to get computed style in pixels
this.show();
/** @type {?} */
const adsRequest = new google.ima.AdsRequest();
/** @type {?} */
const computedStyle = window.getComputedStyle(this.elem);

@@ -153,6 +108,2 @@ adsRequest.adTagUrl = adTagUrl;

}
/**
* @param {?} evt
* @return {?}
*/
onAdsManagerLoaded(evt) {

@@ -164,10 +115,4 @@ this.show();

// @ts-ignore
/**
* @param {?} adsManager
* @return {?}
*/
processAdsManager(adsManager) {
/** @type {?} */
const w = this.API.videogularElement.offsetWidth;
/** @type {?} */
const h = this.API.videogularElement.offsetHeight;

@@ -184,7 +129,3 @@ // Attach the pause/resume events.

}
/**
* @return {?}
*/
onSkippableStateChanged() {
/** @type {?} */
const isSkippable = this.ima.adsManager.getAdSkippableState();

@@ -198,5 +139,2 @@ if (isSkippable) {

}
/**
* @return {?}
*/
onClickSkip() {

@@ -206,5 +144,2 @@ this.ima.adsManager.skip();

}
/**
* @return {?}
*/
onContentPauseRequested() {

@@ -215,5 +150,2 @@ this.show();

}
/**
* @return {?}
*/
onContentResumeRequested() {

@@ -225,6 +157,2 @@ this.API.play();

// @ts-ignore
/**
* @param {?} evt
* @return {?}
*/
onAdError(evt) {

@@ -238,5 +166,2 @@ if (this.ima.adsManager) {

}
/**
* @return {?}
*/
onAllAdsComplete() {

@@ -250,5 +175,2 @@ this.hide();

}
/**
* @return {?}
*/
onAdComplete() {

@@ -259,5 +181,2 @@ // TODO: Update view with current ad count

}
/**
* @return {?}
*/
show() {

@@ -267,5 +186,2 @@ window.dispatchEvent(new CustomEvent(VgEvents.VG_START_ADS));

}
/**
* @return {?}
*/
hide() {

@@ -275,5 +191,2 @@ window.dispatchEvent(new CustomEvent(VgEvents.VG_END_ADS));

}
/**
* @return {?}
*/
onContentEnded() {

@@ -283,6 +196,2 @@ this.ima.adsLoader.contentComplete();

}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -293,6 +202,2 @@ if (!this.fsAPI.nativeFullscreen) {

}
/**
* @private
* @return {?}
*/
onMissingGoogleImaLoader() {

@@ -302,11 +207,4 @@ this.hide();

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -333,3 +231,3 @@ }

`]
}] }
},] }
];

@@ -356,49 +254,3 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgImaAdsComponent.prototype.vgFor;
/** @type {?} */
VgImaAdsComponent.prototype.vgNetwork;
/** @type {?} */
VgImaAdsComponent.prototype.vgUnitPath;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanion;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanionSize;
/** @type {?} */
VgImaAdsComponent.prototype.vgAdTagUrl;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButton;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButtonLocale;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStart;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStop;
/** @type {?} */
VgImaAdsComponent.prototype.onSkipAd;
/** @type {?} */
VgImaAdsComponent.prototype.elem;
/** @type {?} */
VgImaAdsComponent.prototype.target;
/** @type {?} */
VgImaAdsComponent.prototype.ima;
/** @type {?} */
VgImaAdsComponent.prototype.isFullscreen;
/** @type {?} */
VgImaAdsComponent.prototype.skipButton;
/** @type {?} */
VgImaAdsComponent.prototype.subscriptions;
/** @type {?} */
VgImaAdsComponent.prototype.displayState;
/** @type {?} */
VgImaAdsComponent.prototype.API;
/** @type {?} */
VgImaAdsComponent.prototype.fsAPI;
}
export class Ima {
/**
* @param {?} imaAdsElement
* @param {?} imaSkipButtonLocale
*/
constructor(imaAdsElement, imaSkipButtonLocale) {

@@ -415,14 +267,2 @@ if (!!(google === null || google === void 0 ? void 0 : google.ima['settings']) && imaSkipButtonLocale) {

}
if (false) {
/** @type {?} */
Ima.prototype.adDisplayContainer;
/** @type {?} */
Ima.prototype.adsLoader;
/** @type {?} */
Ima.prototype.adsManager;
/** @type {?} */
Ima.prototype.adsLoaded;
/** @type {?} */
Ima.prototype.currentAd;
}
//# sourceMappingURL=vg-ima-ads.component.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-ima-ads.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgImaAdsModule, VgImaAdsComponent, Ima } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-ima-ads.js.map

@@ -1,11 +0,6 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgModuloModule } from './lib/modulo.module';
export { VgModuloComponent } from './lib/components/vg-modulo.component';
export {} from './lib/interfaces/fluctus.interface';
export {} from './lib/interfaces/modulo-config.interface';
export { Gondolo } from './lib/utils/modulo';
export * from './lib/modulo.module';
export * from './lib/components/vg-modulo.component';
export * from './lib/interfaces/fluctus.interface';
export * from './lib/interfaces/modulo-config.interface';
export * from './lib/utils/modulo';
//# sourceMappingURL=index.js.map

@@ -1,12 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-modulo.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
import { Gondolo } from "../utils/modulo";
export class VgModuloComponent {
/**
* @return {?}
*/
startVisualizer() {

@@ -16,3 +8,2 @@ if (!this._audioAnalyser) {

const { width, height } = this.moduloConfig.dimensions;
/** @type {?} */
const canvasElement = this.waveCanvas.nativeElement;

@@ -25,7 +16,3 @@ this._ctx = canvasElement.getContext("2d");

}
/**
* @return {?}
*/
update() {
/** @type {?} */
const audioFreq = this._audioAnalyser.waveform();

@@ -50,6 +37,3 @@ const { fillStyle, strokeStyle, lineWidth, scaleFactor } = this.moduloConfig;

this._ctx.stroke();
window.requestAnimationFrame((/**
* @return {?}
*/
() => this.update()));
window.requestAnimationFrame(() => this.update());
}

@@ -61,3 +45,3 @@ }

template: "<canvas #waveCanvas></canvas>\n"
}] }
},] }
];

@@ -69,20 +53,2 @@ VgModuloComponent.propDecorators = {

};
if (false) {
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._audioAnalyser;
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._ctx;
/** @type {?} */
VgModuloComponent.prototype.moduloConfig;
/** @type {?} */
VgModuloComponent.prototype.audioElement;
/** @type {?} */
VgModuloComponent.prototype.waveCanvas;
}
//# sourceMappingURL=vg-modulo.component.js.map

@@ -1,44 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/fluctus.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function FluctusInterface() { }
if (false) {
/** @type {?} */
FluctusInterface.prototype.ctx;
/** @type {?} */
FluctusInterface.prototype.analyser;
/** @type {?} */
FluctusInterface.prototype.stereo;
/** @type {?} */
FluctusInterface.prototype.audible;
/** @type {?} */
FluctusInterface.prototype.wavedata;
/** @type {?} */
FluctusInterface.prototype.freqdata;
/** @type {?} */
FluctusInterface.prototype.splitter;
/** @type {?} */
FluctusInterface.prototype.merger;
/** @type {?} */
FluctusInterface.prototype.source;
/** @type {?} */
FluctusInterface.prototype.output;
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
FluctusInterface.prototype.waveform = function (output, channel) { };
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
FluctusInterface.prototype.frequencies = function (output, channel) { };
}
export {};
//# sourceMappingURL=fluctus.interface.js.map

@@ -1,22 +0,2 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/modulo-config.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
export function ModuloConfig() { }
if (false) {
/** @type {?} */
ModuloConfig.prototype.dimensions;
/** @type {?} */
ModuloConfig.prototype.fillStyle;
/** @type {?} */
ModuloConfig.prototype.strokeStyle;
/** @type {?} */
ModuloConfig.prototype.lineWidth;
/** @type {?} */
ModuloConfig.prototype.scaleFactor;
}
export {};
//# sourceMappingURL=modulo-config.interface.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/modulo.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from "@angular/core";

@@ -7,0 +2,0 @@ import { CommonModule } from "@angular/common";

@@ -1,14 +0,3 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/utils/modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const AudioContext = window["AudioContext"] || window["webkitAudioContext"];
export class Gondolo {
/**
* @param {?} audio
* @param {?=} ctx
* @param {?=} opts
*/
constructor(audio, ctx, opts) {

@@ -32,7 +21,2 @@ if (!(this instanceof Gondolo)) {

}
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
waveform(output, channel) {

@@ -44,3 +28,2 @@ if (!output) {

}
/** @type {?} */
const analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -50,7 +33,2 @@ analyser.getByteTimeDomainData(output);

}
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
frequencies(output, channel) {

@@ -62,3 +40,2 @@ if (!output) {

}
/** @type {?} */
const analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -68,9 +45,2 @@ analyser.getByteFrequencyData(output);

}
/**
* @private
* @param {?} ctx
* @param {?} opts
* @param {?} audio
* @return {?}
*/
audioConfigStateResolver(ctx, opts, audio) {

@@ -86,7 +56,2 @@ this.analyser = ctx.createAnalyser();

}
/**
* @private
* @param {?} ctx
* @return {?}
*/
audioConfigStateParser(ctx) {

@@ -117,24 +82,2 @@ if (!this.stereo) {

}
if (false) {
/** @type {?} */
Gondolo.prototype.ctx;
/** @type {?} */
Gondolo.prototype.analyser;
/** @type {?} */
Gondolo.prototype.stereo;
/** @type {?} */
Gondolo.prototype.audible;
/** @type {?} */
Gondolo.prototype.wavedata;
/** @type {?} */
Gondolo.prototype.freqdata;
/** @type {?} */
Gondolo.prototype.splitter;
/** @type {?} */
Gondolo.prototype.merger;
/** @type {?} */
Gondolo.prototype.source;
/** @type {?} */
Gondolo.prototype.output;
}
//# sourceMappingURL=modulo.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgModuloModule, VgModuloComponent, Gondolo } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-modulo.js.map

@@ -1,8 +0,3 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgOverlayPlayModule } from './lib/overlay-play.module';
export { VgOverlayPlayComponent } from './lib/vg-overlay-play.component';
export * from './lib/overlay-play.module';
export * from './lib/vg-overlay-play.component';
//# sourceMappingURL=index.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/overlay-play.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -7,0 +2,0 @@ import { CommonModule } from '@angular/common';

@@ -1,15 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-overlay-play.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ElementRef, HostListener, ViewEncapsulation, HostBinding, } from '@angular/core';
import { VgApiService, VgFullscreenApiService, VgControlsHiddenService, VgStates } from '@videogular/ngx-videogular/core';
export class VgOverlayPlayComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
* @param {?} controlsHidden
*/
constructor(ref, API, fsAPI, controlsHidden) {

@@ -19,4 +8,7 @@ this.API = API;

this.controlsHidden = controlsHidden;
this.vgSkipIfControlsHidden = false;
this.vgSkipIfControlsHiddenDelay = 0.5;
this.isNativeFullscreen = false;
this.areControlsHidden = false;
this.areControlsHiddenChangeTime = 0;
this.subscriptions = [];

@@ -26,5 +18,2 @@ this.isBuffering = false;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -35,11 +24,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -49,19 +32,7 @@ this.target = this.API.getMediaById(this.vgFor);

this.subscriptions.push(this.controlsHidden.isHidden.subscribe(this.onHideControls.bind(this)));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((/**
* @param {?} isBuffering
* @return {?}
*/
(isBuffering) => this.onUpdateBuffer(isBuffering))));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((isBuffering) => this.onUpdateBuffer(isBuffering)));
}
/**
* @param {?} isBuffering
* @return {?}
*/
onUpdateBuffer(isBuffering) {
this.isBuffering = isBuffering;
}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -72,14 +43,12 @@ if (this.fsAPI.nativeFullscreen) {

}
/**
* @param {?} hidden
* @return {?}
*/
onHideControls(hidden) {
if (this.vgSkipIfControlsHidden && this.areControlsHidden != hidden) {
this.areControlsHiddenChangeTime = Date.now();
}
this.areControlsHidden = hidden;
}
/**
* @return {?}
*/
onClick() {
/** @type {?} */
if (this.vgSkipIfControlsHidden && (this.areControlsHidden || (Date.now() - this.areControlsHiddenChangeTime) < this.vgSkipIfControlsHiddenDelay * 1000)) {
return;
}
const state = this.getState();

@@ -96,7 +65,3 @@ switch (state) {

}
/**
* @return {?}
*/
getState() {
/** @type {?} */
let state = VgStates.VG_PAUSED;

@@ -118,11 +83,4 @@ if (this.target) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -188,3 +146,3 @@ }

`]
}] }
},] }
];

@@ -200,30 +158,7 @@ /** @nocollapse */

vgFor: [{ type: Input }],
vgSkipIfControlsHidden: [{ type: Input }],
vgSkipIfControlsHiddenDelay: [{ type: Input }],
isBuffering: [{ type: HostBinding, args: ['class.is-buffering',] }],
onClick: [{ type: HostListener, args: ['click',] }]
};
if (false) {
/** @type {?} */
VgOverlayPlayComponent.prototype.vgFor;
/** @type {?} */
VgOverlayPlayComponent.prototype.elem;
/** @type {?} */
VgOverlayPlayComponent.prototype.target;
/** @type {?} */
VgOverlayPlayComponent.prototype.isNativeFullscreen;
/** @type {?} */
VgOverlayPlayComponent.prototype.areControlsHidden;
/** @type {?} */
VgOverlayPlayComponent.prototype.subscriptions;
/** @type {?} */
VgOverlayPlayComponent.prototype.isBuffering;
/** @type {?} */
VgOverlayPlayComponent.prototype.API;
/** @type {?} */
VgOverlayPlayComponent.prototype.fsAPI;
/**
* @type {?}
* @private
*/
VgOverlayPlayComponent.prototype.controlsHidden;
}
//# sourceMappingURL=vg-overlay-play.component.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-overlay-play.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgOverlayPlayModule, VgOverlayPlayComponent } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-overlay-play.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: public-api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// export * from "@videogular/ngx-videogular/core";

@@ -7,0 +2,0 @@ // export * from "@videogular/ngx-videogular/buffering";

@@ -1,9 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgStreamingModule } from './lib/streaming.module';
export { VgDashDirective } from './lib/directives/vg-dash/vg-dash.directive';
export { VgHlsDirective } from './lib/directives/vg-hls/vg-hls.directive';
export * from './lib/streaming.module';
export * from './lib/directives/vg-dash/vg-dash.directive';
export * from './lib/directives/vg-hls/vg-hls.directive';
//# sourceMappingURL=index.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-dash/vg-dash.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, Output, EventEmitter, ElementRef, } from '@angular/core';
import { VgApiService, } from '@videogular/ngx-videogular/core';
export class VgDashDirective {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -19,5 +10,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -28,11 +16,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -43,6 +25,2 @@ this.vgFor = this.ref.nativeElement.getAttribute('vgFor');

}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {

@@ -52,5 +30,2 @@ var _a;

}
/**
* @return {?}
*/
createPlayer() {

@@ -64,3 +39,2 @@ if (this.dash) {

this.vgDash.indexOf('mpd-time-csf') > -1)) {
/** @type {?} */
let drmOptions;

@@ -83,16 +57,7 @@ if (this.vgDRMLicenseServer) {

this.dash.setAutoPlay(false);
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, (/**
* @return {?}
*/
() => {
/** @type {?} */
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, () => {
const audioList = this.dash.getBitrateInfoListFor('audio');
/** @type {?} */
const videoList = this.dash.getBitrateInfoListFor('video');
if (audioList.length > 1) {
audioList.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => (item.qualityIndex = ++item.qualityIndex)));
audioList.forEach((item) => (item.qualityIndex = ++item.qualityIndex));
audioList.unshift({

@@ -109,7 +74,3 @@ qualityIndex: 0,

if (videoList.length > 1) {
videoList.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => (item.qualityIndex = ++item.qualityIndex)));
videoList.forEach((item) => (item.qualityIndex = ++item.qualityIndex));
videoList.unshift({

@@ -125,3 +86,3 @@ qualityIndex: 0,

}
}));
});
if (drmOptions) {

@@ -140,6 +101,2 @@ this.dash.setProtectionData(drmOptions);

}
/**
* @param {?} __0
* @return {?}
*/
setBitrate({ mediaType, qualityIndex }) {

@@ -159,3 +116,2 @@ if (this.dash) {

}
/** @type {?} */
const nextIndex = qualityIndex - 1;

@@ -177,5 +133,2 @@ this.dash.setQualityFor(mediaType, nextIndex);

}
/**
* @return {?}
*/
destroyPlayer() {

@@ -187,11 +140,4 @@ if (this.dash) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
this.destroyPlayer();

@@ -217,27 +163,2 @@ }

};
if (false) {
/** @type {?} */
VgDashDirective.prototype.vgDash;
/** @type {?} */
VgDashDirective.prototype.vgDRMToken;
/** @type {?} */
VgDashDirective.prototype.vgDRMLicenseServer;
/** @type {?} */
VgDashDirective.prototype.onGetBitrates;
/** @type {?} */
VgDashDirective.prototype.vgFor;
/** @type {?} */
VgDashDirective.prototype.target;
/** @type {?} */
VgDashDirective.prototype.dash;
/** @type {?} */
VgDashDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgDashDirective.prototype.ref;
/** @type {?} */
VgDashDirective.prototype.API;
}
//# sourceMappingURL=vg-dash.directive.js.map

@@ -1,13 +0,4 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-hls/vg-hls.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, Output, EventEmitter, ElementRef, } from '@angular/core';
import { VgApiService, } from '@videogular/ngx-videogular/core';
export class VgHlsDirective {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -20,5 +11,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -29,11 +17,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -49,11 +31,7 @@ this.crossorigin = this.ref.nativeElement.getAttribute('crossorigin');

}
this.config = (/** @type {?} */ ({
this.config = {
autoStartLoad: this.preload,
}));
};
// @ts-ignore
this.config.xhrSetup = (/**
* @param {?} xhr
* @return {?}
*/
(xhr) => {
this.config.xhrSetup = (xhr) => {
// Send cookies

@@ -66,19 +44,12 @@ if (this.crossorigin === 'use-credentials') {

}
});
};
this.createPlayer();
if (!this.preload) {
this.subscriptions.push(this.API.subscriptions.play.subscribe((/**
* @return {?}
*/
() => {
this.subscriptions.push(this.API.subscriptions.play.subscribe(() => {
if (this.hls) {
this.hls.startLoad(0);
}
})));
}));
}
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {

@@ -96,5 +67,2 @@ var _a;

}
/**
* @return {?}
*/
createPlayer() {

@@ -109,13 +77,6 @@ if (this.hls) {

this.API.isPlayerReady) {
/** @type {?} */
const video = this.ref.nativeElement;
this.hls = new Hls(this.config);
// @ts-ignore
this.hls.on(Hls.Events.MANIFEST_PARSED, (/**
* @param {?} _event
* @param {?} data
* @return {?}
*/
(_event, data) => {
/** @type {?} */
this.hls.on(Hls.Events.MANIFEST_PARSED, (_event, data) => {
const videoList = [];

@@ -130,8 +91,3 @@ videoList.push({

});
data.levels.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
data.levels.forEach((item, index) => {
videoList.push({

@@ -145,14 +101,9 @@ qualityIndex: ++index,

});
}));
});
this.onGetBitrates.emit(videoList);
}));
});
// @ts-ignore
this.hls.on(Hls.Events.LEVEL_LOADED, (/**
* @param {?} _event
* @param {?} data
* @return {?}
*/
(_event, data) => {
this.hls.on(Hls.Events.LEVEL_LOADED, (_event, data) => {
this.target.isLive = data.details.live;
}));
});
this.hls.loadSource(this.vgHls);

@@ -169,6 +120,2 @@ this.hls.attachMedia(video);

}
/**
* @param {?} bitrate
* @return {?}
*/
setBitrate(bitrate) {

@@ -179,5 +126,2 @@ if (this.hls) {

}
/**
* @return {?}
*/
destroyPlayer() {

@@ -189,11 +133,4 @@ if (this.hls) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
this.destroyPlayer();

@@ -219,31 +156,2 @@ delete this.hls;

};
if (false) {
/** @type {?} */
VgHlsDirective.prototype.vgHls;
/** @type {?} */
VgHlsDirective.prototype.vgHlsHeaders;
/** @type {?} */
VgHlsDirective.prototype.onGetBitrates;
/** @type {?} */
VgHlsDirective.prototype.vgFor;
/** @type {?} */
VgHlsDirective.prototype.target;
/** @type {?} */
VgHlsDirective.prototype.hls;
/** @type {?} */
VgHlsDirective.prototype.preload;
/** @type {?} */
VgHlsDirective.prototype.crossorigin;
/** @type {?} */
VgHlsDirective.prototype.config;
/** @type {?} */
VgHlsDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgHlsDirective.prototype.ref;
/** @type {?} */
VgHlsDirective.prototype.API;
}
//# sourceMappingURL=vg-hls.directive.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: lib/streaming.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NgModule } from '@angular/core';

@@ -7,0 +2,0 @@ import { CommonModule } from '@angular/common';

/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-streaming.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { VgStreamingModule, VgDashDirective, VgHlsDirective } from './index';
export * from './index';
//# sourceMappingURL=videogular-ngx-videogular-streaming.js.map
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { default } from './public-api';
export * from './public-api';
//# sourceMappingURL=videogular-ngx-videogular.js.map

@@ -5,12 +5,3 @@ import { Component, ViewEncapsulation, ElementRef, Input, HostBinding, NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-buffering/vg-buffering.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgBufferingComponent {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -25,5 +16,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -34,35 +22,14 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {
this.target = this.API.getMediaById(this.vgFor);
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((/**
* @param {?} isBuffering
* @return {?}
*/
(isBuffering) => this.onUpdateBuffer(isBuffering))));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((isBuffering) => this.onUpdateBuffer(isBuffering)));
}
/**
* @param {?} isBuffering
* @return {?}
*/
onUpdateBuffer(isBuffering) {
this.isBuffering = isBuffering;
}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -158,3 +125,3 @@ }

`]
}] }
},] }
];

@@ -170,28 +137,3 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgBufferingComponent.prototype.vgFor;
/** @type {?} */
VgBufferingComponent.prototype.elem;
/** @type {?} */
VgBufferingComponent.prototype.target;
/** @type {?} */
VgBufferingComponent.prototype.checkInterval;
/** @type {?} */
VgBufferingComponent.prototype.currentPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.lastPlayPos;
/** @type {?} */
VgBufferingComponent.prototype.subscriptions;
/** @type {?} */
VgBufferingComponent.prototype.isBuffering;
/** @type {?} */
VgBufferingComponent.prototype.API;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/buffering.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgBufferingModule {

@@ -208,14 +150,6 @@ }

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-buffering.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgBufferingComponent, VgBufferingModule };
//# sourceMappingURL=videogular-ngx-videogular-buffering.js.map

@@ -5,19 +5,3 @@ import { EventEmitter, Component, ViewEncapsulation, ElementRef, Input, Output, HostBinding, NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* Generated from: lib/google.ima.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: lib/vg-ima-ads.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgImaAdsComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
*/
constructor(ref, API, fsAPI) {

@@ -36,5 +20,2 @@ this.API = API;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -45,11 +26,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -69,9 +44,6 @@ if (typeof google === 'undefined') {

}
/**
* @return {?}
*/
initializations() {
this.ima = new Ima(this.elem, this.vgSkipButtonLocale);
if (this.vgSkipButton) {
this.skipButton = (/** @type {?} */ (document.querySelector(this.vgSkipButton)));
this.skipButton = document.querySelector(this.vgSkipButton);
this.skipButton.style.display = 'none';

@@ -81,9 +53,4 @@ this.skipButton.addEventListener('click', this.onClickSkip.bind(this));

}
window.addEventListener('resize', (/**
* @return {?}
*/
() => {
/** @type {?} */
window.addEventListener('resize', () => {
const w = this.API.videogularElement.offsetWidth;
/** @type {?} */
const h = this.API.videogularElement.offsetHeight;

@@ -98,16 +65,8 @@ if (this.ima.adsManager) {

}
}));
});
}
/**
* @return {?}
*/
loadAds() {
if (this.vgCompanion) {
googletag.cmd.push((/**
* @return {?}
*/
() => {
/** @type {?} */
googletag.cmd.push(() => {
const adUnitPath = '/' + this.vgNetwork + '/' + this.vgUnitPath;
/** @type {?} */
const slot = googletag.defineSlot(adUnitPath, this.vgCompanionSize, this.vgCompanion);

@@ -121,9 +80,5 @@ if (slot) {

}
}));
});
}
}
/**
* @param {?} event
* @return {?}
*/
onUpdateState(event) {

@@ -141,12 +96,6 @@ switch (event.type) {

}
/**
* @param {?} adTagUrl
* @return {?}
*/
requestAds(adTagUrl) {
// Show only to get computed style in pixels
this.show();
/** @type {?} */
const adsRequest = new google.ima.AdsRequest();
/** @type {?} */
const computedStyle = window.getComputedStyle(this.elem);

@@ -160,6 +109,2 @@ adsRequest.adTagUrl = adTagUrl;

}
/**
* @param {?} evt
* @return {?}
*/
onAdsManagerLoaded(evt) {

@@ -171,10 +116,4 @@ this.show();

// @ts-ignore
/**
* @param {?} adsManager
* @return {?}
*/
processAdsManager(adsManager) {
/** @type {?} */
const w = this.API.videogularElement.offsetWidth;
/** @type {?} */
const h = this.API.videogularElement.offsetHeight;

@@ -191,7 +130,3 @@ // Attach the pause/resume events.

}
/**
* @return {?}
*/
onSkippableStateChanged() {
/** @type {?} */
const isSkippable = this.ima.adsManager.getAdSkippableState();

@@ -205,5 +140,2 @@ if (isSkippable) {

}
/**
* @return {?}
*/
onClickSkip() {

@@ -213,5 +145,2 @@ this.ima.adsManager.skip();

}
/**
* @return {?}
*/
onContentPauseRequested() {

@@ -222,5 +151,2 @@ this.show();

}
/**
* @return {?}
*/
onContentResumeRequested() {

@@ -232,6 +158,2 @@ this.API.play();

// @ts-ignore
/**
* @param {?} evt
* @return {?}
*/
onAdError(evt) {

@@ -245,5 +167,2 @@ if (this.ima.adsManager) {

}
/**
* @return {?}
*/
onAllAdsComplete() {

@@ -257,5 +176,2 @@ this.hide();

}
/**
* @return {?}
*/
onAdComplete() {

@@ -266,5 +182,2 @@ // TODO: Update view with current ad count

}
/**
* @return {?}
*/
show() {

@@ -274,5 +187,2 @@ window.dispatchEvent(new CustomEvent(VgEvents.VG_START_ADS));

}
/**
* @return {?}
*/
hide() {

@@ -282,5 +192,2 @@ window.dispatchEvent(new CustomEvent(VgEvents.VG_END_ADS));

}
/**
* @return {?}
*/
onContentEnded() {

@@ -290,6 +197,2 @@ this.ima.adsLoader.contentComplete();

}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -300,6 +203,2 @@ if (!this.fsAPI.nativeFullscreen) {

}
/**
* @private
* @return {?}
*/
onMissingGoogleImaLoader() {

@@ -309,11 +208,4 @@ this.hide();

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -340,3 +232,3 @@ }

`]
}] }
},] }
];

@@ -363,49 +255,3 @@ /** @nocollapse */

};
if (false) {
/** @type {?} */
VgImaAdsComponent.prototype.vgFor;
/** @type {?} */
VgImaAdsComponent.prototype.vgNetwork;
/** @type {?} */
VgImaAdsComponent.prototype.vgUnitPath;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanion;
/** @type {?} */
VgImaAdsComponent.prototype.vgCompanionSize;
/** @type {?} */
VgImaAdsComponent.prototype.vgAdTagUrl;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButton;
/** @type {?} */
VgImaAdsComponent.prototype.vgSkipButtonLocale;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStart;
/** @type {?} */
VgImaAdsComponent.prototype.onAdStop;
/** @type {?} */
VgImaAdsComponent.prototype.onSkipAd;
/** @type {?} */
VgImaAdsComponent.prototype.elem;
/** @type {?} */
VgImaAdsComponent.prototype.target;
/** @type {?} */
VgImaAdsComponent.prototype.ima;
/** @type {?} */
VgImaAdsComponent.prototype.isFullscreen;
/** @type {?} */
VgImaAdsComponent.prototype.skipButton;
/** @type {?} */
VgImaAdsComponent.prototype.subscriptions;
/** @type {?} */
VgImaAdsComponent.prototype.displayState;
/** @type {?} */
VgImaAdsComponent.prototype.API;
/** @type {?} */
VgImaAdsComponent.prototype.fsAPI;
}
class Ima {
/**
* @param {?} imaAdsElement
* @param {?} imaSkipButtonLocale
*/
constructor(imaAdsElement, imaSkipButtonLocale) {

@@ -422,20 +268,3 @@ if (!!(google === null || google === void 0 ? void 0 : google.ima['settings']) && imaSkipButtonLocale) {

}
if (false) {
/** @type {?} */
Ima.prototype.adDisplayContainer;
/** @type {?} */
Ima.prototype.adsLoader;
/** @type {?} */
Ima.prototype.adsManager;
/** @type {?} */
Ima.prototype.adsLoaded;
/** @type {?} */
Ima.prototype.currentAd;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/ima-ads.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgImaAdsModule {

@@ -451,12 +280,6 @@ }

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// export './lib/google.ima';
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-ima-ads.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/

@@ -463,0 +286,0 @@

import { Component, Input, ViewChild, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
/**
* @fileoverview added by tsickle
* Generated from: lib/utils/modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const AudioContext = window["AudioContext"] || window["webkitAudioContext"];
class Gondolo {
/**
* @param {?} audio
* @param {?=} ctx
* @param {?=} opts
*/
constructor(audio, ctx, opts) {

@@ -35,7 +24,2 @@ if (!(this instanceof Gondolo)) {

}
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
waveform(output, channel) {

@@ -47,3 +31,2 @@ if (!output) {

}
/** @type {?} */
const analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -53,7 +36,2 @@ analyser.getByteTimeDomainData(output);

}
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
frequencies(output, channel) {

@@ -65,3 +43,2 @@ if (!output) {

}
/** @type {?} */
const analyser = this.stereo ? this.analyser[channel || 0] : this.analyser;

@@ -71,9 +48,2 @@ analyser.getByteFrequencyData(output);

}
/**
* @private
* @param {?} ctx
* @param {?} opts
* @param {?} audio
* @return {?}
*/
audioConfigStateResolver(ctx, opts, audio) {

@@ -89,7 +59,2 @@ this.analyser = ctx.createAnalyser();

}
/**
* @private
* @param {?} ctx
* @return {?}
*/
audioConfigStateParser(ctx) {

@@ -120,34 +85,4 @@ if (!this.stereo) {

}
if (false) {
/** @type {?} */
Gondolo.prototype.ctx;
/** @type {?} */
Gondolo.prototype.analyser;
/** @type {?} */
Gondolo.prototype.stereo;
/** @type {?} */
Gondolo.prototype.audible;
/** @type {?} */
Gondolo.prototype.wavedata;
/** @type {?} */
Gondolo.prototype.freqdata;
/** @type {?} */
Gondolo.prototype.splitter;
/** @type {?} */
Gondolo.prototype.merger;
/** @type {?} */
Gondolo.prototype.source;
/** @type {?} */
Gondolo.prototype.output;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/components/vg-modulo.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgModuloComponent {
/**
* @return {?}
*/
startVisualizer() {

@@ -157,3 +92,2 @@ if (!this._audioAnalyser) {

const { width, height } = this.moduloConfig.dimensions;
/** @type {?} */
const canvasElement = this.waveCanvas.nativeElement;

@@ -166,7 +100,3 @@ this._ctx = canvasElement.getContext("2d");

}
/**
* @return {?}
*/
update() {
/** @type {?} */
const audioFreq = this._audioAnalyser.waveform();

@@ -191,6 +121,3 @@ const { fillStyle, strokeStyle, lineWidth, scaleFactor } = this.moduloConfig;

this._ctx.stroke();
window.requestAnimationFrame((/**
* @return {?}
*/
() => this.update()));
window.requestAnimationFrame(() => this.update());
}

@@ -202,3 +129,3 @@ }

template: "<canvas #waveCanvas></canvas>\n"
}] }
},] }
];

@@ -210,26 +137,3 @@ VgModuloComponent.propDecorators = {

};
if (false) {
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._audioAnalyser;
/**
* @type {?}
* @private
*/
VgModuloComponent.prototype._ctx;
/** @type {?} */
VgModuloComponent.prototype.moduloConfig;
/** @type {?} */
VgModuloComponent.prototype.audioElement;
/** @type {?} */
VgModuloComponent.prototype.waveCanvas;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/modulo.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgModuloModule {

@@ -248,80 +152,6 @@ }

/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/fluctus.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @record
*/
function FluctusInterface() { }
if (false) {
/** @type {?} */
FluctusInterface.prototype.ctx;
/** @type {?} */
FluctusInterface.prototype.analyser;
/** @type {?} */
FluctusInterface.prototype.stereo;
/** @type {?} */
FluctusInterface.prototype.audible;
/** @type {?} */
FluctusInterface.prototype.wavedata;
/** @type {?} */
FluctusInterface.prototype.freqdata;
/** @type {?} */
FluctusInterface.prototype.splitter;
/** @type {?} */
FluctusInterface.prototype.merger;
/** @type {?} */
FluctusInterface.prototype.source;
/** @type {?} */
FluctusInterface.prototype.output;
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
FluctusInterface.prototype.waveform = function (output, channel) { };
/**
* @param {?=} output
* @param {?=} channel
* @return {?}
*/
FluctusInterface.prototype.frequencies = function (output, channel) { };
}
/**
* @fileoverview added by tsickle
* Generated from: lib/interfaces/modulo-config.interface.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @record
*/
function ModuloConfig() { }
if (false) {
/** @type {?} */
ModuloConfig.prototype.dimensions;
/** @type {?} */
ModuloConfig.prototype.fillStyle;
/** @type {?} */
ModuloConfig.prototype.strokeStyle;
/** @type {?} */
ModuloConfig.prototype.lineWidth;
/** @type {?} */
ModuloConfig.prototype.scaleFactor;
}
/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-modulo.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { Gondolo, VgModuloComponent, VgModuloModule };
//# sourceMappingURL=videogular-ngx-videogular-modulo.js.map

@@ -5,14 +5,3 @@ import { Component, ViewEncapsulation, ElementRef, Input, HostBinding, HostListener, NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* Generated from: lib/vg-overlay-play.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgOverlayPlayComponent {
/**
* @param {?} ref
* @param {?} API
* @param {?} fsAPI
* @param {?} controlsHidden
*/
constructor(ref, API, fsAPI, controlsHidden) {

@@ -22,4 +11,7 @@ this.API = API;

this.controlsHidden = controlsHidden;
this.vgSkipIfControlsHidden = false;
this.vgSkipIfControlsHiddenDelay = 0.5;
this.isNativeFullscreen = false;
this.areControlsHidden = false;
this.areControlsHiddenChangeTime = 0;
this.subscriptions = [];

@@ -29,5 +21,2 @@ this.isBuffering = false;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -38,11 +27,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -52,19 +35,7 @@ this.target = this.API.getMediaById(this.vgFor);

this.subscriptions.push(this.controlsHidden.isHidden.subscribe(this.onHideControls.bind(this)));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((/**
* @param {?} isBuffering
* @return {?}
*/
(isBuffering) => this.onUpdateBuffer(isBuffering))));
this.subscriptions.push(this.target.subscriptions.bufferDetected.subscribe((isBuffering) => this.onUpdateBuffer(isBuffering)));
}
/**
* @param {?} isBuffering
* @return {?}
*/
onUpdateBuffer(isBuffering) {
this.isBuffering = isBuffering;
}
/**
* @param {?} fsState
* @return {?}
*/
onChangeFullscreen(fsState) {

@@ -75,14 +46,12 @@ if (this.fsAPI.nativeFullscreen) {

}
/**
* @param {?} hidden
* @return {?}
*/
onHideControls(hidden) {
if (this.vgSkipIfControlsHidden && this.areControlsHidden != hidden) {
this.areControlsHiddenChangeTime = Date.now();
}
this.areControlsHidden = hidden;
}
/**
* @return {?}
*/
onClick() {
/** @type {?} */
if (this.vgSkipIfControlsHidden && (this.areControlsHidden || (Date.now() - this.areControlsHiddenChangeTime) < this.vgSkipIfControlsHiddenDelay * 1000)) {
return;
}
const state = this.getState();

@@ -99,7 +68,3 @@ switch (state) {

}
/**
* @return {?}
*/
getState() {
/** @type {?} */
let state = VgStates.VG_PAUSED;

@@ -121,11 +86,4 @@ if (this.target) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
}

@@ -191,3 +149,3 @@ }

`]
}] }
},] }
];

@@ -203,36 +161,8 @@ /** @nocollapse */

vgFor: [{ type: Input }],
vgSkipIfControlsHidden: [{ type: Input }],
vgSkipIfControlsHiddenDelay: [{ type: Input }],
isBuffering: [{ type: HostBinding, args: ['class.is-buffering',] }],
onClick: [{ type: HostListener, args: ['click',] }]
};
if (false) {
/** @type {?} */
VgOverlayPlayComponent.prototype.vgFor;
/** @type {?} */
VgOverlayPlayComponent.prototype.elem;
/** @type {?} */
VgOverlayPlayComponent.prototype.target;
/** @type {?} */
VgOverlayPlayComponent.prototype.isNativeFullscreen;
/** @type {?} */
VgOverlayPlayComponent.prototype.areControlsHidden;
/** @type {?} */
VgOverlayPlayComponent.prototype.subscriptions;
/** @type {?} */
VgOverlayPlayComponent.prototype.isBuffering;
/** @type {?} */
VgOverlayPlayComponent.prototype.API;
/** @type {?} */
VgOverlayPlayComponent.prototype.fsAPI;
/**
* @type {?}
* @private
*/
VgOverlayPlayComponent.prototype.controlsHidden;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/overlay-play.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgOverlayPlayModule {

@@ -249,14 +179,6 @@ }

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-overlay-play.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgOverlayPlayComponent, VgOverlayPlayModule };
//# sourceMappingURL=videogular-ngx-videogular-overlay-play.js.map

@@ -5,12 +5,3 @@ import { EventEmitter, Directive, ElementRef, Input, Output, NgModule } from '@angular/core';

/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-dash/vg-dash.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgDashDirective {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -22,5 +13,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -31,11 +19,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -46,6 +28,2 @@ this.vgFor = this.ref.nativeElement.getAttribute('vgFor');

}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {

@@ -55,5 +33,2 @@ var _a;

}
/**
* @return {?}
*/
createPlayer() {

@@ -67,3 +42,2 @@ if (this.dash) {

this.vgDash.indexOf('mpd-time-csf') > -1)) {
/** @type {?} */
let drmOptions;

@@ -86,16 +60,7 @@ if (this.vgDRMLicenseServer) {

this.dash.setAutoPlay(false);
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, (/**
* @return {?}
*/
() => {
/** @type {?} */
this.dash.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, () => {
const audioList = this.dash.getBitrateInfoListFor('audio');
/** @type {?} */
const videoList = this.dash.getBitrateInfoListFor('video');
if (audioList.length > 1) {
audioList.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => (item.qualityIndex = ++item.qualityIndex)));
audioList.forEach((item) => (item.qualityIndex = ++item.qualityIndex));
audioList.unshift({

@@ -112,7 +77,3 @@ qualityIndex: 0,

if (videoList.length > 1) {
videoList.forEach((/**
* @param {?} item
* @return {?}
*/
(item) => (item.qualityIndex = ++item.qualityIndex)));
videoList.forEach((item) => (item.qualityIndex = ++item.qualityIndex));
videoList.unshift({

@@ -128,3 +89,3 @@ qualityIndex: 0,

}
}));
});
if (drmOptions) {

@@ -143,6 +104,2 @@ this.dash.setProtectionData(drmOptions);

}
/**
* @param {?} __0
* @return {?}
*/
setBitrate({ mediaType, qualityIndex }) {

@@ -162,3 +119,2 @@ if (this.dash) {

}
/** @type {?} */
const nextIndex = qualityIndex - 1;

@@ -180,5 +136,2 @@ this.dash.setQualityFor(mediaType, nextIndex);

}
/**
* @return {?}
*/
destroyPlayer() {

@@ -190,11 +143,4 @@ if (this.dash) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
this.destroyPlayer();

@@ -220,38 +166,4 @@ }

};
if (false) {
/** @type {?} */
VgDashDirective.prototype.vgDash;
/** @type {?} */
VgDashDirective.prototype.vgDRMToken;
/** @type {?} */
VgDashDirective.prototype.vgDRMLicenseServer;
/** @type {?} */
VgDashDirective.prototype.onGetBitrates;
/** @type {?} */
VgDashDirective.prototype.vgFor;
/** @type {?} */
VgDashDirective.prototype.target;
/** @type {?} */
VgDashDirective.prototype.dash;
/** @type {?} */
VgDashDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgDashDirective.prototype.ref;
/** @type {?} */
VgDashDirective.prototype.API;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/directives/vg-hls/vg-hls.directive.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgHlsDirective {
/**
* @param {?} ref
* @param {?} API
*/
constructor(ref, API) {

@@ -264,5 +176,2 @@ this.ref = ref;

}
/**
* @return {?}
*/
ngOnInit() {

@@ -273,11 +182,5 @@ if (this.API.isPlayerReady) {

else {
this.subscriptions.push(this.API.playerReadyEvent.subscribe((/**
* @return {?}
*/
() => this.onPlayerReady())));
this.subscriptions.push(this.API.playerReadyEvent.subscribe(() => this.onPlayerReady()));
}
}
/**
* @return {?}
*/
onPlayerReady() {

@@ -293,11 +196,7 @@ this.crossorigin = this.ref.nativeElement.getAttribute('crossorigin');

}
this.config = (/** @type {?} */ ({
this.config = {
autoStartLoad: this.preload,
}));
};
// @ts-ignore
this.config.xhrSetup = (/**
* @param {?} xhr
* @return {?}
*/
(xhr) => {
this.config.xhrSetup = (xhr) => {
// Send cookies

@@ -310,19 +209,12 @@ if (this.crossorigin === 'use-credentials') {

}
});
};
this.createPlayer();
if (!this.preload) {
this.subscriptions.push(this.API.subscriptions.play.subscribe((/**
* @return {?}
*/
() => {
this.subscriptions.push(this.API.subscriptions.play.subscribe(() => {
if (this.hls) {
this.hls.startLoad(0);
}
})));
}));
}
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {

@@ -340,5 +232,2 @@ var _a;

}
/**
* @return {?}
*/
createPlayer() {

@@ -353,13 +242,6 @@ if (this.hls) {

this.API.isPlayerReady) {
/** @type {?} */
const video = this.ref.nativeElement;
this.hls = new Hls(this.config);
// @ts-ignore
this.hls.on(Hls.Events.MANIFEST_PARSED, (/**
* @param {?} _event
* @param {?} data
* @return {?}
*/
(_event, data) => {
/** @type {?} */
this.hls.on(Hls.Events.MANIFEST_PARSED, (_event, data) => {
const videoList = [];

@@ -374,8 +256,3 @@ videoList.push({

});
data.levels.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
data.levels.forEach((item, index) => {
videoList.push({

@@ -389,14 +266,9 @@ qualityIndex: ++index,

});
}));
});
this.onGetBitrates.emit(videoList);
}));
});
// @ts-ignore
this.hls.on(Hls.Events.LEVEL_LOADED, (/**
* @param {?} _event
* @param {?} data
* @return {?}
*/
(_event, data) => {
this.hls.on(Hls.Events.LEVEL_LOADED, (_event, data) => {
this.target.isLive = data.details.live;
}));
});
this.hls.loadSource(this.vgHls);

@@ -413,6 +285,2 @@ this.hls.attachMedia(video);

}
/**
* @param {?} bitrate
* @return {?}
*/
setBitrate(bitrate) {

@@ -423,5 +291,2 @@ if (this.hls) {

}
/**
* @return {?}
*/
destroyPlayer() {

@@ -433,11 +298,4 @@ if (this.hls) {

}
/**
* @return {?}
*/
ngOnDestroy() {
this.subscriptions.forEach((/**
* @param {?} s
* @return {?}
*/
(s) => s.unsubscribe()));
this.subscriptions.forEach((s) => s.unsubscribe());
this.destroyPlayer();

@@ -463,37 +321,3 @@ delete this.hls;

};
if (false) {
/** @type {?} */
VgHlsDirective.prototype.vgHls;
/** @type {?} */
VgHlsDirective.prototype.vgHlsHeaders;
/** @type {?} */
VgHlsDirective.prototype.onGetBitrates;
/** @type {?} */
VgHlsDirective.prototype.vgFor;
/** @type {?} */
VgHlsDirective.prototype.target;
/** @type {?} */
VgHlsDirective.prototype.hls;
/** @type {?} */
VgHlsDirective.prototype.preload;
/** @type {?} */
VgHlsDirective.prototype.crossorigin;
/** @type {?} */
VgHlsDirective.prototype.config;
/** @type {?} */
VgHlsDirective.prototype.subscriptions;
/**
* @type {?}
* @private
*/
VgHlsDirective.prototype.ref;
/** @type {?} */
VgHlsDirective.prototype.API;
}
/**
* @fileoverview added by tsickle
* Generated from: lib/streaming.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class VgStreamingModule {

@@ -510,14 +334,6 @@ }

/**
* @fileoverview added by tsickle
* Generated from: index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular-streaming.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { VgDashDirective, VgHlsDirective, VgStreamingModule };
//# sourceMappingURL=videogular-ngx-videogular-streaming.js.map

@@ -1,6 +0,1 @@

/**
* @fileoverview added by tsickle
* Generated from: public-api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
// export * from "@videogular/ngx-videogular/core";

@@ -18,8 +13,4 @@ // export * from "@videogular/ngx-videogular/buffering";

/**
* @fileoverview added by tsickle
* Generated from: videogular-ngx-videogular.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/
export default publicApi;
//# sourceMappingURL=videogular-ngx-videogular.js.map

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/ima-ads"
}
}

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/modulo"
}
}

@@ -9,2 +9,4 @@ import { OnInit, ElementRef, OnDestroy } from '@angular/core';

vgFor: string;
vgSkipIfControlsHidden: boolean;
vgSkipIfControlsHiddenDelay: number;
elem: HTMLElement;

@@ -14,2 +16,3 @@ target: any;

areControlsHidden: boolean;
areControlsHiddenChangeTime: number;
subscriptions: Subscription[];

@@ -16,0 +19,0 @@ isBuffering: boolean;

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/overlay-play"
}
}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"VgOverlayPlayModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgCoreModule","line":6,"character":26}],"declarations":[{"__symbolic":"reference","name":"VgOverlayPlayComponent"}],"exports":[{"__symbolic":"reference","name":"VgOverlayPlayComponent"}]}]}],"members":{}},"VgOverlayPlayComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-overlay-play","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"<div\n class=\"vg-overlay-play\"\n [class.native-fullscreen]=\"isNativeFullscreen\"\n [class.controls-hidden]=\"areControlsHidden\"\n >\n <div\n class=\"overlay-play-container\"\n [class.vg-icon-play_arrow]=\"getState() !== 'playing'\"\n ></div>\n </div>","styles":["\n vg-overlay-play {\n z-index: 200;\n }\n vg-overlay-play.is-buffering {\n display: none;\n }\n vg-overlay-play .vg-overlay-play {\n transition: all 0.5s;\n cursor: pointer;\n position: absolute;\n display: block;\n color: white;\n width: 100%;\n height: 100%;\n font-size: 80px;\n filter: alpha(opacity=60);\n opacity: 0.6;\n }\n vg-overlay-play .vg-overlay-play.native-fullscreen.controls-hidden {\n cursor: none;\n }\n vg-overlay-play\n .vg-overlay-play\n .overlay-play-container.vg-icon-play_arrow {\n pointer-events: none;\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 80px;\n }\n vg-overlay-play .vg-overlay-play:hover {\n filter: alpha(opacity=100);\n opacity: 1;\n }\n vg-overlay-play\n .vg-overlay-play:hover\n .overlay-play-container.vg-icon-play_arrow:before {\n transform: scale(1.2);\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"isBuffering":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":83,"character":3},"arguments":["class.is-buffering"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":86,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":87,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgFullscreenApiService","line":88,"character":18},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":89,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onUpdateBuffer":[{"__symbolic":"method"}],"onChangeFullscreen":[{"__symbolic":"method"}],"onHideControls":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":135,"character":3},"arguments":["click"]}]}],"getState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"VgOverlayPlayModule":"./lib/overlay-play.module","VgOverlayPlayComponent":"./lib/vg-overlay-play.component"},"importAs":"@videogular/ngx-videogular/overlay-play"}
{"__symbolic":"module","version":4,"metadata":{"VgOverlayPlayModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgCoreModule","line":6,"character":26}],"declarations":[{"__symbolic":"reference","name":"VgOverlayPlayComponent"}],"exports":[{"__symbolic":"reference","name":"VgOverlayPlayComponent"}]}]}],"members":{}},"VgOverlayPlayComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"vg-overlay-play","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":15,"character":17},"member":"None"},"template":"<div\n class=\"vg-overlay-play\"\n [class.native-fullscreen]=\"isNativeFullscreen\"\n [class.controls-hidden]=\"areControlsHidden\"\n >\n <div\n class=\"overlay-play-container\"\n [class.vg-icon-play_arrow]=\"getState() !== 'playing'\"\n ></div>\n </div>","styles":["\n vg-overlay-play {\n z-index: 200;\n }\n vg-overlay-play.is-buffering {\n display: none;\n }\n vg-overlay-play .vg-overlay-play {\n transition: all 0.5s;\n cursor: pointer;\n position: absolute;\n display: block;\n color: white;\n width: 100%;\n height: 100%;\n font-size: 80px;\n filter: alpha(opacity=60);\n opacity: 0.6;\n }\n vg-overlay-play .vg-overlay-play.native-fullscreen.controls-hidden {\n cursor: none;\n }\n vg-overlay-play\n .vg-overlay-play\n .overlay-play-container.vg-icon-play_arrow {\n pointer-events: none;\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 80px;\n }\n vg-overlay-play .vg-overlay-play:hover {\n filter: alpha(opacity=100);\n opacity: 1;\n }\n vg-overlay-play\n .vg-overlay-play:hover\n .overlay-play-container.vg-icon-play_arrow:before {\n transform: scale(1.2);\n }\n "]}]}],"members":{"vgFor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"vgSkipIfControlsHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"vgSkipIfControlsHiddenDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"isBuffering":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":86,"character":3},"arguments":["class.is-buffering"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":89,"character":9},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgApiService","line":90,"character":16},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgFullscreenApiService","line":91,"character":18},{"__symbolic":"reference","module":"@videogular/ngx-videogular/core","name":"VgControlsHiddenService","line":92,"character":28}]}],"ngOnInit":[{"__symbolic":"method"}],"onPlayerReady":[{"__symbolic":"method"}],"onUpdateBuffer":[{"__symbolic":"method"}],"onChangeFullscreen":[{"__symbolic":"method"}],"onHideControls":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":142,"character":3},"arguments":["click"]}]}],"getState":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"VgOverlayPlayModule":"./lib/overlay-play.module","VgOverlayPlayComponent":"./lib/vg-overlay-play.component"},"importAs":"@videogular/ngx-videogular/overlay-play"}
{
"name": "@videogular/ngx-videogular",
"version": "3.0.1",
"version": "4.0.0",
"description": "The HTML5 video player for Angular 2 and successor to videogular2",

@@ -11,8 +11,8 @@ "license": "MIT",

"peerDependencies": {
"@angular/common": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
"@angular/core": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
"@angular/platform-browser-dynamic": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
"core-js": "^2.5.4 || ^3.8.1",
"rxjs": "^6.5.4",
"zone.js": "^0.10.2 || ^0.11.3"
"@angular/common": ">=8.0.0 <13.0.0",
"@angular/core": ">=8.0.0 <13.0.0",
"@angular/platform-browser-dynamic": ">=8.0.0 <13.0.0",
"core-js": ">=2.5.4 <=3.15.1",
"rxjs": ">=6.5.4",
"zone.js": ">=0.10.2 <=0.11.4"
},

@@ -50,2 +50,2 @@ "dependencies": {

"metadata": "videogular-ngx-videogular.metadata.json"
}
}

@@ -11,2 +11,2 @@ {

"name": "@videogular/ngx-videogular/streaming"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc