rx-player
Version:
Canal+ HTML5 Video Player
58 lines (57 loc) • 2.58 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (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);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.MonoThreadCoreInterface = void 0;
var log_1 = require("../../log");
var noop_1 = require("../../utils/noop");
var queue_microtask_1 = require("../../utils/queue_microtask");
var base_1 = require("./base");
var MonoThreadCoreInterface = /** @class */ (function (_super) {
__extends(MonoThreadCoreInterface, _super);
function MonoThreadCoreInterface() {
var _this = _super.call(this) || this;
_this._currentCoreListener = noop_1.default;
return _this;
}
MonoThreadCoreInterface.prototype.sendMessage = function (msg) {
var _this = this;
log_1.default.debug("M-->C", "Sending message", { name: msg.type });
(0, queue_microtask_1.default)(function () {
// NOTE: We don't clone for performance reasons
_this._currentCoreListener({ data: msg });
});
};
MonoThreadCoreInterface.prototype.getCallbacks = function () {
var _this = this;
var setCoreMessageReceiver = function (handler) {
_this._currentCoreListener = handler;
};
var sendCoreMessage = function (msg, _transferables) {
(0, queue_microtask_1.default)(function () {
if (msg.type !== "log" /* CoreMessageType.LogMessage */) {
log_1.default.debug("M<--C", "Sending message", { name: msg.type });
}
_this.listeners.forEach(function (listener) {
listener(msg);
});
});
};
return { setCoreMessageReceiver: setCoreMessageReceiver, sendCoreMessage: sendCoreMessage };
};
return MonoThreadCoreInterface;
}(base_1.default));
exports.MonoThreadCoreInterface = MonoThreadCoreInterface;