@aidenlx/player
Version:
Headless web components that make integrating media on the a web a breeze.
24 lines (23 loc) • 662 B
JavaScript
import "../../chunks/chunk.LNH2V2XS.js";
import { DisposalBin, listen } from "@vidstack/foundation";
function mediaEventListener(host, eventType, listener) {
const disposal = new DisposalBin();
host.addController({
hostConnected: () => {
disposal.add(listen(host, "vds-media-provider-connect", (event) => {
const { element: mediaProvider, onDisconnect } = event.detail;
const off = listen(mediaProvider, eventType, listener);
disposal.add(off);
onDisconnect(() => {
off?.();
});
}));
},
hostDisconnected: () => {
disposal.empty();
}
});
}
export {
mediaEventListener
};