UNPKG

@playkit-js/playkit-js-dash

Version:

[![Build Status](https://github.com/kaltura/playkit-js-dash/actions/workflows/run_canary_full_flow.yaml/badge.svg)](https://github.com/kaltura/playkit-js-dash/actions/workflows/run_canary_full_flow.yaml) [![code style: prettier](https://img.shields.io/bad

54 lines (43 loc) 1.61 kB
import {MpdUtils, XmlUtils} from './parser-utils'; class SegmentTemplate { public static MediaTemplateType: {[key: string]: string} = { REPRESENTATION: '$RepresentationID$', NUMBER: '$Number$', BANDWIDTH: '$Bandwidth$', TIME: '$Time$' }; private _media: string; private _duration: number; private _startNumber: number; // Live related private _timescale: number; private _presentationTimeOffset: number; private _endNumber: number; constructor(elem: HTMLElement) { this._media = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.MEDIA); this._startNumber = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.START_NUMBER, XmlUtils.parseInt, 1); this._duration = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.DURATION, XmlUtils.parseFloat); this._timescale = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.TIMESCALE, XmlUtils.parsePositiveInt, 1); this._presentationTimeOffset = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.PRESENTATION_TIME_OFFSET, XmlUtils.parseInt, 0); this._endNumber = XmlUtils.parseAttr(elem, MpdUtils.AttributeTypes.END_NUMBER, XmlUtils.parsePositiveInt); } public get media(): string { return this._media; } public get startNumber(): number { return this._startNumber; } public get duration(): number { return this._duration; } public get timescale(): number { return this._timescale; } public get presentationTimeOffset(): number { return this._presentationTimeOffset; } public get endNumber(): number { return this._endNumber; } } export {SegmentTemplate};