rx-player
Version:
Canal+ HTML5 Video Player
48 lines (47 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var generate_read_only_observer_1 = require("./utils/generate_read_only_observer");
var WorkerPlaybackObserver = /** @class */ (function () {
function WorkerPlaybackObserver(src, contentId, sendMessage, cancellationSignal) {
this._src = src;
this._contentId = contentId;
this._messageSender = sendMessage;
this._cancelSignal = cancellationSignal;
}
WorkerPlaybackObserver.prototype.getCurrentTime = function () {
return undefined;
};
WorkerPlaybackObserver.prototype.getReadyState = function () {
return undefined;
};
WorkerPlaybackObserver.prototype.getIsPaused = function () {
return undefined;
};
WorkerPlaybackObserver.prototype.getReference = function () {
return this._src;
};
WorkerPlaybackObserver.prototype.setPlaybackRate = function (playbackRate) {
this._messageSender({
type: "update-playback-rate" /* WorkerMessageType.UpdatePlaybackRate */,
contentId: this._contentId,
value: playbackRate,
});
};
WorkerPlaybackObserver.prototype.getPlaybackRate = function () {
return undefined;
};
WorkerPlaybackObserver.prototype.listen = function (cb, params) {
if (this._cancelSignal.isCancelled() || params.clearSignal.isCancelled()) {
return;
}
this._src.onUpdate(cb, {
clearSignal: params.clearSignal,
emitCurrentValue: params.includeLastObservation,
});
};
WorkerPlaybackObserver.prototype.deriveReadOnlyObserver = function (transform) {
return (0, generate_read_only_observer_1.default)(this, transform, this._cancelSignal);
};
return WorkerPlaybackObserver;
}());
exports.default = WorkerPlaybackObserver;