Synchronously invokes every listener registered for event, in registration order.
true if at least one listener was invoked, false if there were none.
The listener list is snapshotted before dispatch, so mutations made by handlers take effect only on subsequent emissions. Listeners are isolated: if one throws, the remaining listeners still run and the error is surfaced via console.error rather than swallowed silently (consistent with LocalMessageBus).
Returns the number of listeners currently registered for event.
The event name to count listeners for.
The count of registered listeners (0 if none).
Registers a listener that is invoked at most once: it is removed automatically before
being called the first time event is emitted.
This emitter, for chaining.
Remove a pending one-time listener by passing the same function reference to off.
Removes listeners for a single event, or for all events.
Optionalevent: keyof MediaServiceEventsThe event name to clear; if omitted, listeners for every event are removed.
This emitter, for chaining.
Top-level SFU media plane: manages mediasoup workers and per-room MediaRouters.
Remarks
MediaServiceowns a WorkerPool and creates one MediaRouter per room on demand (deduping concurrent creates via a pending map), binding each router to aRoomLikeroom so it is torn down when the room closes. It surfaces worker crashes and router lifecycle through MediaServiceEvents, and is the main entry point integrators use to stand up server-side media.