webcodecs-flv
Version:
webcodecs decode flv
69 lines (64 loc) • 2.27 kB
JavaScript
export const EventDispatcher = function () {
// Private vars
const spec = {};
spec.dispatcher = {};
spec.dispatcher.eventListeners = {};
/**
* @function addEventListener
* @desc This function registers a callback function as a handler for the corresponding event. It's shortened form is on(eventType, listener). See the event description in the following table.<br>
* @instance
* @memberof Oms.Base.EventDispatcher
* @param {string} eventType Event string.
* @param {function} listener Callback function.
*/
this.addEventListener = function (eventType, listener) {
if (spec.dispatcher.eventListeners[eventType] === undefined) {
spec.dispatcher.eventListeners[eventType] = [];
}
spec.dispatcher.eventListeners[eventType].push(listener);
};
/**
* @function removeEventListener
* @desc This function removes a registered event listener.
* @instance
* @memberof Oms.Base.EventDispatcher
* @param {string} eventType Event string.
* @param {function} listener Callback function.
*/
this.removeEventListener = function (eventType, listener) {
if (!spec.dispatcher.eventListeners[eventType]) {
return;
}
var index = spec.dispatcher.eventListeners[eventType].indexOf(listener);
if (index !== -1) {
spec.dispatcher.eventListeners[eventType].splice(index, 1);
}
};
/**
* @function clearEventListener
* @desc This function removes all event listeners for one type.
* @instance
* @memberof Oms.Base.EventDispatcher
* @param {string} eventType Event string.
*/
this.clearEventListener = function (eventType) {
spec.dispatcher.eventListeners[eventType] = [];
};
// It dispatch a new event to the event listeners, based on the type
// of event. All events are intended to be LicodeEvents.
this.dispatchEvent = function (event) {
if (!spec.dispatcher.eventListeners[event.type]) {
return;
}
spec.dispatcher.eventListeners[event.type].map(function (listener) {
listener(event);
});
};
};
export class demuxerChange {
constructor(type, data) {
this.type = type;
this.event = data.event; //del modity
this.data = data.data;
}
}