@svta/common-media-library
Version:
A common library for media playback in JavaScript
29 lines • 1.27 kB
JavaScript
import { generateManifestPlaylistPiece } from './generateManifestPlaylistPiece.js';
export function mapHamToHls(presentations) {
const version = 7; //TODO Add a way to change the version. For now version 7 is hardcoded as it is the first version of HLS with CMAF support
let mainManifest = `#EXTM3U\n#EXT-X-VERSION:${version}\n\n`;
const playlists = [];
presentations.map((presentation) => {
presentation.selectionSets.map((selectionSet) => {
selectionSet.switchingSets.map((switchingSet) => {
switchingSet.tracks.map((track) => {
var _a;
const { mainRef, playlist } = generateManifestPlaylistPiece(track);
mainManifest += mainRef;
const manifestFileName = (_a = track.fileName) !== null && _a !== void 0 ? _a : `${track.id}.m3u8`;
playlists.push({
manifest: playlist,
type: 'hls',
fileName: manifestFileName,
});
});
});
});
});
return {
manifest: mainManifest,
ancillaryManifests: playlists,
type: 'hls',
};
}
//# sourceMappingURL=mapHamToHls.js.map