UNPKG

rx-player

Version:
41 lines (38 loc) 1.76 kB
import type { CancellationSignal } from "../../../utils/task_canceller"; import type RxPlayer from "../public_api"; import constructDebugGeneralInfo from "./modules/general_info"; import createSegmentSinkGraph from "./modules/segment_buffer_content"; import createSegmentSinkSizeGraph from "./modules/segment_buffer_size"; import { createCompositeElement, createElement } from "./utils"; export default function renderDebugElement( parentElt: HTMLElement, instance: RxPlayer, cancelSignal: CancellationSignal, ): void { const debugElementTitleElt = createElement("div", { textContent: "RxPlayer Debug Information", }); debugElementTitleElt.style.fontWeight = "bold"; debugElementTitleElt.style.borderBottom = "1px solid white"; debugElementTitleElt.style.marginBottom = "5px"; debugElementTitleElt.style.fontStyle = "italic"; const debugWrapperElt = createCompositeElement("div", [ debugElementTitleElt, constructDebugGeneralInfo(instance, parentElt, cancelSignal), createSegmentSinkGraph(instance, "video", "vbuf", parentElt, cancelSignal), createSegmentSinkGraph(instance, "audio", "abuf", parentElt, cancelSignal), createSegmentSinkGraph(instance, "text", "tbuf", parentElt, cancelSignal), createSegmentSinkSizeGraph(instance, parentElt, cancelSignal), ]); debugWrapperElt.style.backgroundColor = "#00000099"; debugWrapperElt.style.padding = "7px"; debugWrapperElt.style.fontSize = "13px"; debugWrapperElt.style.fontFamily = "mono, monospace"; debugWrapperElt.style.color = "white"; debugWrapperElt.style.display = "inline-block"; debugWrapperElt.style.bottom = "0px"; parentElt.appendChild(debugWrapperElt); cancelSignal.register(() => { parentElt.removeChild(debugWrapperElt); }); }