@svta/cml-cmaf-ham 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +9 -0
  3. package/dist/index.d.ts +52 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +20 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/mapper/Mapper.d.ts +8 -0
  8. package/dist/mapper/Mapper.d.ts.map +1 -0
  9. package/dist/mapper/Mapper.js +2 -0
  10. package/dist/mapper/Mapper.js.map +1 -0
  11. package/dist/mapper/MapperContext.d.ts +14 -0
  12. package/dist/mapper/MapperContext.d.ts.map +1 -0
  13. package/dist/mapper/MapperContext.js +22 -0
  14. package/dist/mapper/MapperContext.js.map +1 -0
  15. package/dist/mapper/dash/DashMapper.d.ts +10 -0
  16. package/dist/mapper/dash/DashMapper.d.ts.map +1 -0
  17. package/dist/mapper/dash/DashMapper.js +23 -0
  18. package/dist/mapper/dash/DashMapper.js.map +1 -0
  19. package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts +12 -0
  20. package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts.map +1 -0
  21. package/dist/mapper/dash/mapDashToHam/mapDashToHam.js +42 -0
  22. package/dist/mapper/dash/mapDashToHam/mapDashToHam.js.map +1 -0
  23. package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts +13 -0
  24. package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts.map +1 -0
  25. package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js +20 -0
  26. package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js.map +1 -0
  27. package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts +12 -0
  28. package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts.map +1 -0
  29. package/dist/mapper/dash/mapDashToHam/mapSegmentList.js +25 -0
  30. package/dist/mapper/dash/mapDashToHam/mapSegmentList.js.map +1 -0
  31. package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts +15 -0
  32. package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts.map +1 -0
  33. package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js +27 -0
  34. package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js.map +1 -0
  35. package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts +20 -0
  36. package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts.map +1 -0
  37. package/dist/mapper/dash/mapDashToHam/mapSegments.js +37 -0
  38. package/dist/mapper/dash/mapDashToHam/mapSegments.js.map +1 -0
  39. package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts +19 -0
  40. package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts.map +1 -0
  41. package/dist/mapper/dash/mapDashToHam/mapTracks.js +72 -0
  42. package/dist/mapper/dash/mapDashToHam/mapTracks.js.map +1 -0
  43. package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts +13 -0
  44. package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts.map +1 -0
  45. package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js +18 -0
  46. package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js.map +1 -0
  47. package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts +13 -0
  48. package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts.map +1 -0
  49. package/dist/mapper/dash/mapDashToHam/utils/getChannels.js +18 -0
  50. package/dist/mapper/dash/mapDashToHam/utils/getChannels.js.map +1 -0
  51. package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts +13 -0
  52. package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts.map +1 -0
  53. package/dist/mapper/dash/mapDashToHam/utils/getCodec.js +18 -0
  54. package/dist/mapper/dash/mapDashToHam/utils/getCodec.js.map +1 -0
  55. package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts +14 -0
  56. package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts.map +1 -0
  57. package/dist/mapper/dash/mapDashToHam/utils/getContentType.js +37 -0
  58. package/dist/mapper/dash/mapDashToHam/utils/getContentType.js.map +1 -0
  59. package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts +16 -0
  60. package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts.map +1 -0
  61. package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js +31 -0
  62. package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js.map +1 -0
  63. package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts +3 -0
  64. package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts.map +1 -0
  65. package/dist/mapper/dash/mapDashToHam/utils/getGroup.js +6 -0
  66. package/dist/mapper/dash/mapDashToHam/utils/getGroup.js.map +1 -0
  67. package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts +14 -0
  68. package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts.map +1 -0
  69. package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js +32 -0
  70. package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js.map +1 -0
  71. package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts +11 -0
  72. package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts.map +1 -0
  73. package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js +17 -0
  74. package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js.map +1 -0
  75. package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts +17 -0
  76. package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts.map +1 -0
  77. package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js +21 -0
  78. package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js.map +1 -0
  79. package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts +13 -0
  80. package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts.map +1 -0
  81. package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js +15 -0
  82. package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js.map +1 -0
  83. package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts +13 -0
  84. package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts.map +1 -0
  85. package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js +18 -0
  86. package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js.map +1 -0
  87. package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts +13 -0
  88. package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts.map +1 -0
  89. package/dist/mapper/dash/mapDashToHam/utils/getSar.js +18 -0
  90. package/dist/mapper/dash/mapDashToHam/utils/getSar.js.map +1 -0
  91. package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts +16 -0
  92. package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts.map +1 -0
  93. package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js +19 -0
  94. package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js.map +1 -0
  95. package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts +18 -0
  96. package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts.map +1 -0
  97. package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js +34 -0
  98. package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js.map +1 -0
  99. package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts +3 -0
  100. package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts.map +1 -0
  101. package/dist/mapper/dash/mapHamToDash/mapHamToDash.js +17 -0
  102. package/dist/mapper/dash/mapHamToDash/mapHamToDash.js.map +1 -0
  103. package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts +4 -0
  104. package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts.map +1 -0
  105. package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js +16 -0
  106. package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js.map +1 -0
  107. package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts +4 -0
  108. package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts.map +1 -0
  109. package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js +22 -0
  110. package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js.map +1 -0
  111. package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts +4 -0
  112. package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts.map +1 -0
  113. package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js +61 -0
  114. package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js.map +1 -0
  115. package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts +4 -0
  116. package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts.map +1 -0
  117. package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js +27 -0
  118. package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js.map +1 -0
  119. package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts +4 -0
  120. package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts.map +1 -0
  121. package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js +52 -0
  122. package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js.map +1 -0
  123. package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts +13 -0
  124. package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts.map +1 -0
  125. package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js +25 -0
  126. package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js.map +1 -0
  127. package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts +16 -0
  128. package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts.map +1 -0
  129. package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js +30 -0
  130. package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js.map +1 -0
  131. package/dist/mapper/hls/HlsMapper.d.ts +10 -0
  132. package/dist/mapper/hls/HlsMapper.d.ts.map +1 -0
  133. package/dist/mapper/hls/HlsMapper.js +17 -0
  134. package/dist/mapper/hls/HlsMapper.js.map +1 -0
  135. package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts +8 -0
  136. package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts.map +1 -0
  137. package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js +26 -0
  138. package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js.map +1 -0
  139. package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts +4 -0
  140. package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts.map +1 -0
  141. package/dist/mapper/hls/mapHamToHls/mapHamToHls.js +29 -0
  142. package/dist/mapper/hls/mapHamToHls/mapHamToHls.js.map +1 -0
  143. package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts +14 -0
  144. package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts.map +1 -0
  145. package/dist/mapper/hls/mapHamToHls/utils/getByterange.js +22 -0
  146. package/dist/mapper/hls/mapHamToHls/utils/getByterange.js.map +1 -0
  147. package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts +14 -0
  148. package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts.map +1 -0
  149. package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js +16 -0
  150. package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js.map +1 -0
  151. package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts +13 -0
  152. package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts.map +1 -0
  153. package/dist/mapper/hls/mapHamToHls/utils/getSegments.js +23 -0
  154. package/dist/mapper/hls/mapHamToHls/utils/getSegments.js.map +1 -0
  155. package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts +14 -0
  156. package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts.map +1 -0
  157. package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js +16 -0
  158. package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js.map +1 -0
  159. package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts +16 -0
  160. package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts.map +1 -0
  161. package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js +55 -0
  162. package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js.map +1 -0
  163. package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts +4 -0
  164. package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts.map +1 -0
  165. package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js +41 -0
  166. package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js.map +1 -0
  167. package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts +4 -0
  168. package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts.map +1 -0
  169. package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js +35 -0
  170. package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js.map +1 -0
  171. package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts +14 -0
  172. package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts.map +1 -0
  173. package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js +23 -0
  174. package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js.map +1 -0
  175. package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts +13 -0
  176. package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts.map +1 -0
  177. package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js +17 -0
  178. package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js.map +1 -0
  179. package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts +13 -0
  180. package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts.map +1 -0
  181. package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js +31 -0
  182. package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js.map +1 -0
  183. package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts +17 -0
  184. package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts.map +1 -0
  185. package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js +21 -0
  186. package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js.map +1 -0
  187. package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts +5 -0
  188. package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts.map +1 -0
  189. package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js +46 -0
  190. package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js.map +1 -0
  191. package/dist/services/converters/dashToHam.d.ts +20 -0
  192. package/dist/services/converters/dashToHam.d.ts.map +1 -0
  193. package/dist/services/converters/dashToHam.js +25 -0
  194. package/dist/services/converters/dashToHam.js.map +1 -0
  195. package/dist/services/converters/hamToDash.d.ts +21 -0
  196. package/dist/services/converters/hamToDash.d.ts.map +1 -0
  197. package/dist/services/converters/hamToDash.js +25 -0
  198. package/dist/services/converters/hamToDash.js.map +1 -0
  199. package/dist/services/converters/hamToHls.d.ts +21 -0
  200. package/dist/services/converters/hamToHls.d.ts.map +1 -0
  201. package/dist/services/converters/hamToHls.js +25 -0
  202. package/dist/services/converters/hamToHls.js.map +1 -0
  203. package/dist/services/converters/hlsToHam.d.ts +21 -0
  204. package/dist/services/converters/hlsToHam.d.ts.map +1 -0
  205. package/dist/services/converters/hlsToHam.js +33 -0
  206. package/dist/services/converters/hlsToHam.js.map +1 -0
  207. package/dist/services/getters/getTracksFromPresentation.d.ts +13 -0
  208. package/dist/services/getters/getTracksFromPresentation.d.ts.map +1 -0
  209. package/dist/services/getters/getTracksFromPresentation.js +15 -0
  210. package/dist/services/getters/getTracksFromPresentation.js.map +1 -0
  211. package/dist/services/getters/getTracksFromSelectionSet.d.ts +13 -0
  212. package/dist/services/getters/getTracksFromSelectionSet.d.ts.map +1 -0
  213. package/dist/services/getters/getTracksFromSelectionSet.js +15 -0
  214. package/dist/services/getters/getTracksFromSelectionSet.js.map +1 -0
  215. package/dist/services/getters/getTracksFromSwitchingSet.d.ts +13 -0
  216. package/dist/services/getters/getTracksFromSwitchingSet.d.ts.map +1 -0
  217. package/dist/services/getters/getTracksFromSwitchingSet.js +14 -0
  218. package/dist/services/getters/getTracksFromSwitchingSet.js.map +1 -0
  219. package/dist/services/validators/validatePresentation.d.ts +29 -0
  220. package/dist/services/validators/validatePresentation.d.ts.map +1 -0
  221. package/dist/services/validators/validatePresentation.js +36 -0
  222. package/dist/services/validators/validatePresentation.js.map +1 -0
  223. package/dist/services/validators/validateSegment.d.ts +18 -0
  224. package/dist/services/validators/validateSegment.d.ts.map +1 -0
  225. package/dist/services/validators/validateSegment.js +33 -0
  226. package/dist/services/validators/validateSegment.js.map +1 -0
  227. package/dist/services/validators/validateSegments.d.ts +27 -0
  228. package/dist/services/validators/validateSegments.d.ts.map +1 -0
  229. package/dist/services/validators/validateSegments.js +35 -0
  230. package/dist/services/validators/validateSegments.js.map +1 -0
  231. package/dist/services/validators/validateSelectionSet.d.ts +31 -0
  232. package/dist/services/validators/validateSelectionSet.d.ts.map +1 -0
  233. package/dist/services/validators/validateSelectionSet.js +44 -0
  234. package/dist/services/validators/validateSelectionSet.js.map +1 -0
  235. package/dist/services/validators/validateSelectionSets.d.ts +28 -0
  236. package/dist/services/validators/validateSelectionSets.d.ts.map +1 -0
  237. package/dist/services/validators/validateSelectionSets.js +36 -0
  238. package/dist/services/validators/validateSelectionSets.js.map +1 -0
  239. package/dist/services/validators/validateSwitchingSet.d.ts +31 -0
  240. package/dist/services/validators/validateSwitchingSet.d.ts.map +1 -0
  241. package/dist/services/validators/validateSwitchingSet.js +44 -0
  242. package/dist/services/validators/validateSwitchingSet.js.map +1 -0
  243. package/dist/services/validators/validateSwitchingSets.d.ts +28 -0
  244. package/dist/services/validators/validateSwitchingSets.d.ts.map +1 -0
  245. package/dist/services/validators/validateSwitchingSets.js +36 -0
  246. package/dist/services/validators/validateSwitchingSets.js.map +1 -0
  247. package/dist/services/validators/validateTrack.d.ts +32 -0
  248. package/dist/services/validators/validateTrack.d.ts.map +1 -0
  249. package/dist/services/validators/validateTrack.js +140 -0
  250. package/dist/services/validators/validateTrack.js.map +1 -0
  251. package/dist/services/validators/validateTracks.d.ts +28 -0
  252. package/dist/services/validators/validateTracks.d.ts.map +1 -0
  253. package/dist/services/validators/validateTracks.js +47 -0
  254. package/dist/services/validators/validateTracks.js.map +1 -0
  255. package/dist/tsconfig.tsbuildinfo +1 -0
  256. package/dist/tsdoc-metadata.json +11 -0
  257. package/dist/types/Validation.d.ts +10 -0
  258. package/dist/types/Validation.d.ts.map +1 -0
  259. package/dist/types/Validation.js +2 -0
  260. package/dist/types/Validation.js.map +1 -0
  261. package/dist/types/manifest/Manifest.d.ts +14 -0
  262. package/dist/types/manifest/Manifest.d.ts.map +1 -0
  263. package/dist/types/manifest/Manifest.js +2 -0
  264. package/dist/types/manifest/Manifest.js.map +1 -0
  265. package/dist/types/manifest/ManifestFormat.d.ts +7 -0
  266. package/dist/types/manifest/ManifestFormat.d.ts.map +1 -0
  267. package/dist/types/manifest/ManifestFormat.js +2 -0
  268. package/dist/types/manifest/ManifestFormat.js.map +1 -0
  269. package/dist/types/mapper/dash/AdaptationSet.d.ts +41 -0
  270. package/dist/types/mapper/dash/AdaptationSet.d.ts.map +1 -0
  271. package/dist/types/mapper/dash/AdaptationSet.js +2 -0
  272. package/dist/types/mapper/dash/AdaptationSet.js.map +1 -0
  273. package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts +12 -0
  274. package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts.map +1 -0
  275. package/dist/types/mapper/dash/AudioChannelConfiguration.js +2 -0
  276. package/dist/types/mapper/dash/AudioChannelConfiguration.js.map +1 -0
  277. package/dist/types/mapper/dash/ContentComponent.d.ts +11 -0
  278. package/dist/types/mapper/dash/ContentComponent.d.ts.map +1 -0
  279. package/dist/types/mapper/dash/ContentComponent.js +2 -0
  280. package/dist/types/mapper/dash/ContentComponent.js.map +1 -0
  281. package/dist/types/mapper/dash/DashManifest.d.ts +20 -0
  282. package/dist/types/mapper/dash/DashManifest.d.ts.map +1 -0
  283. package/dist/types/mapper/dash/DashManifest.js +2 -0
  284. package/dist/types/mapper/dash/DashManifest.js.map +1 -0
  285. package/dist/types/mapper/dash/Initialization.d.ts +12 -0
  286. package/dist/types/mapper/dash/Initialization.d.ts.map +1 -0
  287. package/dist/types/mapper/dash/Initialization.js +2 -0
  288. package/dist/types/mapper/dash/Initialization.js.map +1 -0
  289. package/dist/types/mapper/dash/Period.d.ts +15 -0
  290. package/dist/types/mapper/dash/Period.d.ts.map +1 -0
  291. package/dist/types/mapper/dash/Period.js +2 -0
  292. package/dist/types/mapper/dash/Period.js.map +1 -0
  293. package/dist/types/mapper/dash/Representation.d.ts +30 -0
  294. package/dist/types/mapper/dash/Representation.d.ts.map +1 -0
  295. package/dist/types/mapper/dash/Representation.js +2 -0
  296. package/dist/types/mapper/dash/Representation.js.map +1 -0
  297. package/dist/types/mapper/dash/Role.d.ts +12 -0
  298. package/dist/types/mapper/dash/Role.d.ts.map +1 -0
  299. package/dist/types/mapper/dash/Role.js +2 -0
  300. package/dist/types/mapper/dash/Role.js.map +1 -0
  301. package/dist/types/mapper/dash/SegmentBase.d.ts +15 -0
  302. package/dist/types/mapper/dash/SegmentBase.d.ts.map +1 -0
  303. package/dist/types/mapper/dash/SegmentBase.js +2 -0
  304. package/dist/types/mapper/dash/SegmentBase.js.map +1 -0
  305. package/dist/types/mapper/dash/SegmentList.d.ts +16 -0
  306. package/dist/types/mapper/dash/SegmentList.d.ts.map +1 -0
  307. package/dist/types/mapper/dash/SegmentList.js +2 -0
  308. package/dist/types/mapper/dash/SegmentList.js.map +1 -0
  309. package/dist/types/mapper/dash/SegmentTemplate.d.ts +17 -0
  310. package/dist/types/mapper/dash/SegmentTemplate.d.ts.map +1 -0
  311. package/dist/types/mapper/dash/SegmentTemplate.js +2 -0
  312. package/dist/types/mapper/dash/SegmentTemplate.js.map +1 -0
  313. package/dist/types/mapper/dash/SegmentUrl.d.ts +11 -0
  314. package/dist/types/mapper/dash/SegmentUrl.d.ts.map +1 -0
  315. package/dist/types/mapper/dash/SegmentUrl.js +2 -0
  316. package/dist/types/mapper/dash/SegmentUrl.js.map +1 -0
  317. package/dist/types/mapper/hls/Byterange.d.ts +11 -0
  318. package/dist/types/mapper/hls/Byterange.d.ts.map +1 -0
  319. package/dist/types/mapper/hls/Byterange.js +2 -0
  320. package/dist/types/mapper/hls/Byterange.js.map +1 -0
  321. package/dist/types/mapper/hls/HlsManifest.d.ts +15 -0
  322. package/dist/types/mapper/hls/HlsManifest.d.ts.map +1 -0
  323. package/dist/types/mapper/hls/HlsManifest.js +2 -0
  324. package/dist/types/mapper/hls/HlsManifest.js.map +1 -0
  325. package/dist/types/mapper/hls/MediaGroups.d.ts +22 -0
  326. package/dist/types/mapper/hls/MediaGroups.d.ts.map +1 -0
  327. package/dist/types/mapper/hls/MediaGroups.js +2 -0
  328. package/dist/types/mapper/hls/MediaGroups.js.map +1 -0
  329. package/dist/types/mapper/hls/Playlist.d.ts +18 -0
  330. package/dist/types/mapper/hls/Playlist.d.ts.map +1 -0
  331. package/dist/types/mapper/hls/Playlist.js +2 -0
  332. package/dist/types/mapper/hls/Playlist.js.map +1 -0
  333. package/dist/types/mapper/hls/SegmentHls.d.ts +18 -0
  334. package/dist/types/mapper/hls/SegmentHls.d.ts.map +1 -0
  335. package/dist/types/mapper/hls/SegmentHls.js +2 -0
  336. package/dist/types/mapper/hls/SegmentHls.js.map +1 -0
  337. package/dist/types/model/AlignedSwitchingSet.d.ts +10 -0
  338. package/dist/types/model/AlignedSwitchingSet.d.ts.map +1 -0
  339. package/dist/types/model/AlignedSwitchingSet.js +2 -0
  340. package/dist/types/model/AlignedSwitchingSet.js.map +1 -0
  341. package/dist/types/model/AudioTrack.d.ts +17 -0
  342. package/dist/types/model/AudioTrack.d.ts.map +1 -0
  343. package/dist/types/model/AudioTrack.js +2 -0
  344. package/dist/types/model/AudioTrack.js.map +1 -0
  345. package/dist/types/model/FrameRate.d.ts +14 -0
  346. package/dist/types/model/FrameRate.d.ts.map +1 -0
  347. package/dist/types/model/FrameRate.js +11 -0
  348. package/dist/types/model/FrameRate.js.map +1 -0
  349. package/dist/types/model/Ham.d.ts +11 -0
  350. package/dist/types/model/Ham.d.ts.map +1 -0
  351. package/dist/types/model/Ham.js +2 -0
  352. package/dist/types/model/Ham.js.map +1 -0
  353. package/dist/types/model/Presentation.d.ts +13 -0
  354. package/dist/types/model/Presentation.d.ts.map +1 -0
  355. package/dist/types/model/Presentation.js +2 -0
  356. package/dist/types/model/Presentation.js.map +1 -0
  357. package/dist/types/model/Segment.d.ts +11 -0
  358. package/dist/types/model/Segment.d.ts.map +1 -0
  359. package/dist/types/model/Segment.js +2 -0
  360. package/dist/types/model/Segment.js.map +1 -0
  361. package/dist/types/model/SelectionSet.d.ts +13 -0
  362. package/dist/types/model/SelectionSet.d.ts.map +1 -0
  363. package/dist/types/model/SelectionSet.js +2 -0
  364. package/dist/types/model/SelectionSet.js.map +1 -0
  365. package/dist/types/model/SwitchingSet.d.ts +11 -0
  366. package/dist/types/model/SwitchingSet.d.ts.map +1 -0
  367. package/dist/types/model/SwitchingSet.js +2 -0
  368. package/dist/types/model/SwitchingSet.js.map +1 -0
  369. package/dist/types/model/TextTrack.d.ts +8 -0
  370. package/dist/types/model/TextTrack.d.ts.map +1 -0
  371. package/dist/types/model/TextTrack.js +2 -0
  372. package/dist/types/model/TextTrack.js.map +1 -0
  373. package/dist/types/model/Track.d.ts +32 -0
  374. package/dist/types/model/Track.d.ts.map +1 -0
  375. package/dist/types/model/Track.js +2 -0
  376. package/dist/types/model/Track.js.map +1 -0
  377. package/dist/types/model/TrackType.d.ts +8 -0
  378. package/dist/types/model/TrackType.d.ts.map +1 -0
  379. package/dist/types/model/TrackType.js +2 -0
  380. package/dist/types/model/TrackType.js.map +1 -0
  381. package/dist/types/model/VideoTrack.d.ts +23 -0
  382. package/dist/types/model/VideoTrack.d.ts.map +1 -0
  383. package/dist/types/model/VideoTrack.js +2 -0
  384. package/dist/types/model/VideoTrack.js.map +1 -0
  385. package/dist/utils/constants.d.ts +16 -0
  386. package/dist/utils/constants.d.ts.map +1 -0
  387. package/dist/utils/constants.js +21 -0
  388. package/dist/utils/constants.js.map +1 -0
  389. package/dist/utils/dash/iso8601DurationToNumber.d.ts +2 -0
  390. package/dist/utils/dash/iso8601DurationToNumber.d.ts.map +1 -0
  391. package/dist/utils/dash/iso8601DurationToNumber.js +17 -0
  392. package/dist/utils/dash/iso8601DurationToNumber.js.map +1 -0
  393. package/dist/utils/dash/numberToIso8601Duration.d.ts +2 -0
  394. package/dist/utils/dash/numberToIso8601Duration.d.ts.map +1 -0
  395. package/dist/utils/dash/numberToIso8601Duration.js +13 -0
  396. package/dist/utils/dash/numberToIso8601Duration.js.map +1 -0
  397. package/dist/utils/dash/parseDashManifest.d.ts +22 -0
  398. package/dist/utils/dash/parseDashManifest.d.ts.map +1 -0
  399. package/dist/utils/dash/parseDashManifest.js +24 -0
  400. package/dist/utils/dash/parseDashManifest.js.map +1 -0
  401. package/dist/utils/dash/serializeDashManifest.d.ts +18 -0
  402. package/dist/utils/dash/serializeDashManifest.d.ts.map +1 -0
  403. package/dist/utils/dash/serializeDashManifest.js +20 -0
  404. package/dist/utils/dash/serializeDashManifest.js.map +1 -0
  405. package/dist/utils/hls/parseHlsManifest.d.ts +18 -0
  406. package/dist/utils/hls/parseHlsManifest.d.ts.map +1 -0
  407. package/dist/utils/hls/parseHlsManifest.js +24 -0
  408. package/dist/utils/hls/parseHlsManifest.js.map +1 -0
  409. package/dist/utils/manifest/addMetadataToDash.d.ts +4 -0
  410. package/dist/utils/manifest/addMetadataToDash.d.ts.map +1 -0
  411. package/dist/utils/manifest/addMetadataToDash.js +15 -0
  412. package/dist/utils/manifest/addMetadataToDash.js.map +1 -0
  413. package/dist/utils/manifest/addMetadataToHls.d.ts +3 -0
  414. package/dist/utils/manifest/addMetadataToHls.d.ts.map +1 -0
  415. package/dist/utils/manifest/addMetadataToHls.js +15 -0
  416. package/dist/utils/manifest/addMetadataToHls.js.map +1 -0
  417. package/dist/utils/manifest/getMetadata.d.ts +3 -0
  418. package/dist/utils/manifest/getMetadata.d.ts.map +1 -0
  419. package/dist/utils/manifest/getMetadata.js +5 -0
  420. package/dist/utils/manifest/getMetadata.js.map +1 -0
  421. package/package.json +86 -0
@@ -0,0 +1,35 @@
1
+ import { parseHlsManifest } from '../../../utils/hls/parseHlsManifest.js';
2
+ import { formatSegments } from './utils/formatSegments.js';
3
+ import { getCodec } from './utils/getCodec.js';
4
+ import { getDuration } from './utils/getDuration.js';
5
+ export function subtitleGroupsToSwitchingSets(mediaGroupsSubtitles, manifestPlaylists) {
6
+ var _a;
7
+ const subtitleSwitchingSets = [];
8
+ const textTracks = [];
9
+ // Add selection set of type subtitles
10
+ for (const subtitleEncodings in mediaGroupsSubtitles) {
11
+ const encodings = mediaGroupsSubtitles[subtitleEncodings];
12
+ for (const subtitle in encodings) {
13
+ const attributes = encodings[subtitle];
14
+ const { language, uri } = attributes;
15
+ const subtitleParsed = parseHlsManifest((_a = manifestPlaylists.shift()) === null || _a === void 0 ? void 0 : _a.manifest);
16
+ const segments = formatSegments(subtitleParsed === null || subtitleParsed === void 0 ? void 0 : subtitleParsed.segments);
17
+ textTracks.push({
18
+ id: subtitle,
19
+ type: 'text',
20
+ fileName: uri,
21
+ codec: getCodec('text'),
22
+ duration: getDuration(subtitleParsed, segments),
23
+ language: language,
24
+ bandwidth: 0,
25
+ segments: segments,
26
+ });
27
+ }
28
+ }
29
+ subtitleSwitchingSets.push({
30
+ id: 'text',
31
+ tracks: textTracks,
32
+ });
33
+ return subtitleSwitchingSets;
34
+ }
35
+ //# sourceMappingURL=subtitleGroupsToSwitchingSets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtitleGroupsToSwitchingSets.js","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,UAAU,6BAA6B,CAC5C,oBAAyB,EACzB,iBAA6B;;IAE7B,MAAM,qBAAqB,GAAmB,EAAE,CAAC;IACjD,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,sCAAsC;IACtC,KAAK,MAAM,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;YACrC,MAAM,cAAc,GAAG,gBAAgB,CACtC,MAAA,iBAAiB,CAAC,KAAK,EAAE,0CAAE,QAAQ,CACnC,CAAC;YACF,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC;YAE1D,UAAU,CAAC,IAAI,CAAC;gBACf,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;gBACvB,QAAQ,EAAE,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC;gBAC/C,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,QAAQ;aACL,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED,qBAAqB,CAAC,IAAI,CAAC;QAC1B,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,UAAU;KACF,CAAC,CAAC;IAEnB,OAAO,qBAAqB,CAAC;AAC9B,CAAC","sourcesContent":["import type { SwitchingSet } from '../../../types/model/SwitchingSet.js';\nimport type { TextTrack } from '../../../types/model/TextTrack.js';\n\nimport type { Manifest } from '../../../types/manifest/Manifest.js';\n\nimport { parseHlsManifest } from '../../../utils/hls/parseHlsManifest.js';\n\nimport { formatSegments } from './utils/formatSegments.js';\nimport { getCodec } from './utils/getCodec.js';\nimport { getDuration } from './utils/getDuration.js';\n\nexport function subtitleGroupsToSwitchingSets(\n\tmediaGroupsSubtitles: any,\n\tmanifestPlaylists: Manifest[],\n): SwitchingSet[] {\n\tconst subtitleSwitchingSets: SwitchingSet[] = [];\n\tconst textTracks: TextTrack[] = [];\n\n\t// Add selection set of type subtitles\n\tfor (const subtitleEncodings in mediaGroupsSubtitles) {\n\t\tconst encodings = mediaGroupsSubtitles[subtitleEncodings];\n\t\tfor (const subtitle in encodings) {\n\t\t\tconst attributes = encodings[subtitle];\n\t\t\tconst { language, uri } = attributes;\n\t\t\tconst subtitleParsed = parseHlsManifest(\n\t\t\t\tmanifestPlaylists.shift()?.manifest,\n\t\t\t);\n\t\t\tconst segments = formatSegments(subtitleParsed?.segments);\n\n\t\t\ttextTracks.push({\n\t\t\t\tid: subtitle,\n\t\t\t\ttype: 'text',\n\t\t\t\tfileName: uri,\n\t\t\t\tcodec: getCodec('text'),\n\t\t\t\tduration: getDuration(subtitleParsed, segments),\n\t\t\t\tlanguage: language,\n\t\t\t\tbandwidth: 0,\n\t\t\t\tsegments: segments,\n\t\t\t} as TextTrack);\n\t\t}\n\t}\n\n\tsubtitleSwitchingSets.push({\n\t\tid: 'text',\n\t\ttracks: textTracks,\n\t} as SwitchingSet);\n\n\treturn subtitleSwitchingSets;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import type { SegmentHls } from '../../../../types/mapper/hls/SegmentHls.js';
2
+ import type { Segment } from '../../../../types/model/Segment.js';
3
+ /**
4
+ * @internal
5
+ *
6
+ * Format the hls segments into the ham segments.
7
+ *
8
+ * @param segments - List of HLS segments
9
+ * @returns ham formatted list of segments
10
+ *
11
+ * @alpha
12
+ */
13
+ export declare function formatSegments(segments: SegmentHls[]): Segment[];
14
+ //# sourceMappingURL=formatSegments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatSegments.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/formatSegments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAIlE;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAWhE"}
@@ -0,0 +1,23 @@
1
+ import { getByterange } from './getByterange.js';
2
+ /**
3
+ * @internal
4
+ *
5
+ * Format the hls segments into the ham segments.
6
+ *
7
+ * @param segments - List of HLS segments
8
+ * @returns ham formatted list of segments
9
+ *
10
+ * @alpha
11
+ */
12
+ export function formatSegments(segments) {
13
+ var _a;
14
+ return ((_a = segments === null || segments === void 0 ? void 0 : segments.map((segment) => {
15
+ const byteRange = getByterange(segment === null || segment === void 0 ? void 0 : segment.byterange);
16
+ return {
17
+ duration: segment.duration,
18
+ url: segment.uri,
19
+ ...(byteRange && { byteRange }),
20
+ };
21
+ })) !== null && _a !== void 0 ? _a : []);
22
+ }
23
+ //# sourceMappingURL=formatSegments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatSegments.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/formatSegments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,QAAsB;;IACpD,OAAO,CACN,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAmB,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC;QACnD,OAAO;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;SACpB,CAAC;IACd,CAAC,CAAC,mCAAI,EAAE,CACR,CAAC;AACH,CAAC","sourcesContent":["import type { SegmentHls } from '../../../../types/mapper/hls/SegmentHls.js';\nimport type { Segment } from '../../../../types/model/Segment.js';\n\nimport { getByterange } from './getByterange.js';\n\n/**\n * @internal\n *\n * Format the hls segments into the ham segments.\n *\n * @param segments - List of HLS segments\n * @returns ham formatted list of segments\n *\n * @alpha\n */\nexport function formatSegments(segments: SegmentHls[]): Segment[] {\n\treturn (\n\t\tsegments?.map((segment: SegmentHls) => {\n\t\t\tconst byteRange = getByterange(segment?.byterange);\n\t\t\treturn {\n\t\t\t\tduration: segment.duration,\n\t\t\t\turl: segment.uri,\n\t\t\t\t...(byteRange && { byteRange }),\n\t\t\t} as Segment;\n\t\t}) ?? []\n\t);\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { Byterange } from '../../../../types/mapper/hls/Byterange.js';
2
+ /**
3
+ * @internal
4
+ *
5
+ * Get byterange from HLS Manifest.
6
+ *
7
+ * @param byteRange - Byterange object containning length and offset
8
+ * @returns string containing the byterange. If byterange is undefined, it returns undefined
9
+ *
10
+ * @alpha
11
+ */
12
+ export declare function getByterange(byteRange: Byterange | undefined): string;
13
+ //# sourceMappingURL=getByterange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getByterange.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getByterange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAE3E;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAKrE"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * Get byterange from HLS Manifest.
5
+ *
6
+ * @param byteRange - Byterange object containning length and offset
7
+ * @returns string containing the byterange. If byterange is undefined, it returns undefined
8
+ *
9
+ * @alpha
10
+ */
11
+ export function getByterange(byteRange) {
12
+ if (!byteRange) {
13
+ return '';
14
+ }
15
+ return `${byteRange.length}@${byteRange.offset}`;
16
+ }
17
+ //# sourceMappingURL=getByterange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getByterange.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getByterange.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,SAAgC;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC","sourcesContent":["import type { Byterange } from '../../../../types/mapper/hls/Byterange.js';\n\n/**\n * @internal\n *\n * Get byterange from HLS Manifest.\n *\n * @param byteRange - Byterange object containning length and offset\n * @returns string containing the byterange. If byterange is undefined, it returns undefined\n *\n * @alpha\n */\nexport function getByterange(byteRange: Byterange | undefined): string {\n\tif (!byteRange) {\n\t\treturn '';\n\t}\n\treturn `${byteRange.length}@${byteRange.offset}`;\n}\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * Get the codec for a type of content.
5
+ *
6
+ * @param type - Type of the content to get the codecs from
7
+ * @param codecs - String containing multiple codecs separated with commas
8
+ * @returns string containing codec
9
+ *
10
+ * @alpha
11
+ */
12
+ export declare function getCodec(type: string, codecs?: string): string;
13
+ //# sourceMappingURL=getCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCodec.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB9D"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * Get the codec for a type of content.
5
+ *
6
+ * @param type - Type of the content to get the codecs from
7
+ * @param codecs - String containing multiple codecs separated with commas
8
+ * @returns string containing codec
9
+ *
10
+ * @alpha
11
+ */
12
+ export function getCodec(type, codecs) {
13
+ var _a;
14
+ if (type === 'audio') {
15
+ // Using codec mp4a.40.2 for now, we should retrieve it by finding
16
+ // the video playlist that is related to this audio group.
17
+ return 'mp4a.40.2';
18
+ }
19
+ else if (type === 'video') {
20
+ // CODECS could be a comma separated value
21
+ // where it has video and audio codec. Using
22
+ // position zero for now.
23
+ // TODO: Get the correct video codec.
24
+ return (_a = codecs === null || codecs === void 0 ? void 0 : codecs.split(',').at(0)) !== null && _a !== void 0 ? _a : '';
25
+ }
26
+ else {
27
+ // if (type === 'text')
28
+ return '';
29
+ }
30
+ }
31
+ //# sourceMappingURL=getCodec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCodec.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAe;;IACrD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,kEAAkE;QAClE,0DAA0D;QAC1D,OAAO,WAAW,CAAC;IACpB,CAAC;SACI,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,0CAA0C;QAC1C,4CAA4C;QAC5C,yBAAyB;QACzB,qCAAqC;QACrC,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC;IACvC,CAAC;SACI,CAAC;QACL,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC","sourcesContent":["/**\n * @internal\n *\n * Get the codec for a type of content.\n *\n * @param type - Type of the content to get the codecs from\n * @param codecs - String containing multiple codecs separated with commas\n * @returns string containing codec\n *\n * @alpha\n */\nexport function getCodec(type: string, codecs?: string): string {\n\tif (type === 'audio') {\n\t\t// Using codec mp4a.40.2 for now, we should retrieve it by finding\n\t\t// the video playlist that is related to this audio group.\n\t\treturn 'mp4a.40.2';\n\t}\n\telse if (type === 'video') {\n\t\t// CODECS could be a comma separated value\n\t\t// where it has video and audio codec. Using\n\t\t// position zero for now.\n\t\t// TODO: Get the correct video codec.\n\t\treturn codecs?.split(',').at(0) ?? '';\n\t}\n\telse {\n\t\t// if (type === 'text')\n\t\treturn '';\n\t}\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import type { HlsManifest } from '../../../../types/mapper/hls/HlsManifest.js';
2
+ import type { SegmentHls } from '../../../../types/mapper/hls/SegmentHls.js';
3
+ /**
4
+ * @internal
5
+ *
6
+ * Calculate the duration of a track.
7
+ *
8
+ * `target duration * number of segments`
9
+ *
10
+ * @param manifest - Manifest of the track
11
+ * @param segments - Array of segments in a track
12
+ * @returns duration of a track
13
+ *
14
+ * @alpha
15
+ */
16
+ export declare function getDuration(manifest: HlsManifest, segments: SegmentHls[]): number | null;
17
+ //# sourceMappingURL=getDuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDuration.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getDuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,UAAU,EAAE,GACpB,MAAM,GAAG,IAAI,CAMf"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * Calculate the duration of a track.
5
+ *
6
+ * `target duration * number of segments`
7
+ *
8
+ * @param manifest - Manifest of the track
9
+ * @param segments - Array of segments in a track
10
+ * @returns duration of a track
11
+ *
12
+ * @alpha
13
+ */
14
+ export function getDuration(manifest, segments) {
15
+ if (!(manifest === null || manifest === void 0 ? void 0 : manifest.targetDuration)) {
16
+ console.error('Could not calculate duration, manifest is undefined.');
17
+ return null;
18
+ }
19
+ return (manifest === null || manifest === void 0 ? void 0 : manifest.targetDuration) * segments.length;
20
+ }
21
+ //# sourceMappingURL=getDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDuration.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHlsToHam/utils/getDuration.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAC1B,QAAqB,EACrB,QAAsB;IAEtB,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAA,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,IAAG,QAAQ,CAAC,MAAM,CAAC;AACnD,CAAC","sourcesContent":["import type { HlsManifest } from '../../../../types/mapper/hls/HlsManifest.js';\nimport type { SegmentHls } from '../../../../types/mapper/hls/SegmentHls.js';\n\n/**\n * @internal\n *\n * Calculate the duration of a track.\n *\n * `target duration * number of segments`\n *\n * @param manifest - Manifest of the track\n * @param segments - Array of segments in a track\n * @returns duration of a track\n *\n * @alpha\n */\nexport function getDuration(\n\tmanifest: HlsManifest,\n\tsegments: SegmentHls[],\n): number | null {\n\tif (!manifest?.targetDuration) {\n\t\tconsole.error('Could not calculate duration, manifest is undefined.');\n\t\treturn null;\n\t}\n\treturn manifest?.targetDuration * segments.length;\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { SwitchingSet } from '../../../types/model/SwitchingSet.js';
2
+ import type { Manifest } from '../../../types/manifest/Manifest.js';
3
+ import type { PlayList } from '../../../types/mapper/hls/Playlist.js';
4
+ export declare function videoPlaylistsToSwitchingSets(playlists: PlayList[], manifestPlaylists: Manifest[]): SwitchingSet[];
5
+ //# sourceMappingURL=videoPlaylistsToSwitchingSets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"videoPlaylistsToSwitchingSets.d.ts","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAUtE,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,QAAQ,EAAE,EACrB,iBAAiB,EAAE,QAAQ,EAAE,GAC3B,YAAY,EAAE,CA4ChB"}
@@ -0,0 +1,46 @@
1
+ import { FRAME_RATE_NUMERATOR_30, ZERO } from '../../../utils/constants.js';
2
+ import { parseHlsManifest } from '../../../utils/hls/parseHlsManifest.js';
3
+ import { formatSegments } from './utils/formatSegments.js';
4
+ import { getByterange } from './utils/getByterange.js';
5
+ import { getCodec } from './utils/getCodec.js';
6
+ import { getDuration } from './utils/getDuration.js';
7
+ export function videoPlaylistsToSwitchingSets(playlists, manifestPlaylists) {
8
+ const switchingSetVideos = [];
9
+ const videoTracks = [];
10
+ let videoTrackId = 0;
11
+ playlists.map((playlist) => {
12
+ var _a, _b, _c, _d;
13
+ const parsedHlsManifest = parseHlsManifest((_a = manifestPlaylists.shift()) === null || _a === void 0 ? void 0 : _a.manifest);
14
+ const segments = formatSegments(parsedHlsManifest === null || parsedHlsManifest === void 0 ? void 0 : parsedHlsManifest.segments);
15
+ const { LANGUAGE, CODECS, BANDWIDTH } = playlist.attributes;
16
+ const map = (_c = (_b = parsedHlsManifest === null || parsedHlsManifest === void 0 ? void 0 : parsedHlsManifest.segments) === null || _b === void 0 ? void 0 : _b.at(0)) === null || _c === void 0 ? void 0 : _c.map;
17
+ const byteRange = getByterange(map === null || map === void 0 ? void 0 : map.byterange);
18
+ videoTracks.push({
19
+ id: `video-${videoTrackId++}`,
20
+ type: 'video',
21
+ fileName: playlist.uri,
22
+ codec: getCodec('video', CODECS),
23
+ duration: getDuration(parsedHlsManifest, segments),
24
+ language: LANGUAGE !== null && LANGUAGE !== void 0 ? LANGUAGE : 'und',
25
+ bandwidth: BANDWIDTH,
26
+ segments: segments,
27
+ width: playlist.attributes.RESOLUTION.width,
28
+ height: playlist.attributes.RESOLUTION.height,
29
+ frameRate: {
30
+ frameRateNumerator: (_d = playlist.attributes['FRAME-RATE']) !== null && _d !== void 0 ? _d : FRAME_RATE_NUMERATOR_30,
31
+ frameRateDenominator: ZERO,
32
+ },
33
+ par: '',
34
+ sar: '',
35
+ scanType: '',
36
+ ...(byteRange && { byteRange }),
37
+ ...((map === null || map === void 0 ? void 0 : map.uri) && { urlInitialization: map === null || map === void 0 ? void 0 : map.uri }),
38
+ });
39
+ });
40
+ switchingSetVideos.push({
41
+ id: `video`,
42
+ tracks: videoTracks,
43
+ });
44
+ return switchingSetVideos;
45
+ }
46
+ //# sourceMappingURL=videoPlaylistsToSwitchingSets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"videoPlaylistsToSwitchingSets.js","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,UAAU,6BAA6B,CAC5C,SAAqB,EACrB,iBAA6B;IAE7B,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAa,EAAE,EAAE;;QAC/B,MAAM,iBAAiB,GAAG,gBAAgB,CACzC,MAAA,iBAAiB,CAAC,KAAK,EAAE,0CAAE,QAAQ,CACnC,CAAC;QACF,MAAM,QAAQ,GAAc,cAAc,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,0CAAE,EAAE,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;QACpD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,SAAS,YAAY,EAAE,EAAE;YAC7B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YAChC,QAAQ,EAAE,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC;YAClD,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK;YAC3B,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK;YAC3C,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM;YAC7C,SAAS,EAAE;gBACV,kBAAkB,EACjB,MAAA,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,mCACjC,uBAAuB;gBACxB,oBAAoB,EAAE,IAAI;aAC1B;YACD,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;YACZ,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,KAAI,EAAE,iBAAiB,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,EAAE,CAAC;SAClC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,kBAAkB,CAAC,IAAI,CAAC;QACvB,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,WAAW;KACH,CAAC,CAAC;IAEnB,OAAO,kBAAkB,CAAC;AAC3B,CAAC","sourcesContent":["import type { Segment } from '../../../types/model/Segment.js';\nimport type { SwitchingSet } from '../../../types/model/SwitchingSet.js';\nimport type { VideoTrack } from '../../../types/model/VideoTrack.js';\n\nimport type { Manifest } from '../../../types/manifest/Manifest.js';\nimport type { PlayList } from '../../../types/mapper/hls/Playlist.js';\n\nimport { FRAME_RATE_NUMERATOR_30, ZERO } from '../../../utils/constants.js';\nimport { parseHlsManifest } from '../../../utils/hls/parseHlsManifest.js';\n\nimport { formatSegments } from './utils/formatSegments.js';\nimport { getByterange } from './utils/getByterange.js';\nimport { getCodec } from './utils/getCodec.js';\nimport { getDuration } from './utils/getDuration.js';\n\nexport function videoPlaylistsToSwitchingSets(\n\tplaylists: PlayList[],\n\tmanifestPlaylists: Manifest[],\n): SwitchingSet[] {\n\tconst switchingSetVideos: SwitchingSet[] = [];\n\tconst videoTracks: VideoTrack[] = [];\n\tlet videoTrackId = 0;\n\n\tplaylists.map((playlist: any) => {\n\t\tconst parsedHlsManifest = parseHlsManifest(\n\t\t\tmanifestPlaylists.shift()?.manifest,\n\t\t);\n\t\tconst segments: Segment[] = formatSegments(parsedHlsManifest?.segments);\n\t\tconst { LANGUAGE, CODECS, BANDWIDTH } = playlist.attributes;\n\t\tconst map = parsedHlsManifest?.segments?.at(0)?.map;\n\t\tconst byteRange = getByterange(map?.byterange);\n\t\tvideoTracks.push({\n\t\t\tid: `video-${videoTrackId++}`,\n\t\t\ttype: 'video',\n\t\t\tfileName: playlist.uri,\n\t\t\tcodec: getCodec('video', CODECS),\n\t\t\tduration: getDuration(parsedHlsManifest, segments),\n\t\t\tlanguage: LANGUAGE ?? 'und',\n\t\t\tbandwidth: BANDWIDTH,\n\t\t\tsegments: segments,\n\t\t\twidth: playlist.attributes.RESOLUTION.width,\n\t\t\theight: playlist.attributes.RESOLUTION.height,\n\t\t\tframeRate: {\n\t\t\t\tframeRateNumerator:\n\t\t\t\t\tplaylist.attributes['FRAME-RATE'] ??\n\t\t\t\t\tFRAME_RATE_NUMERATOR_30,\n\t\t\t\tframeRateDenominator: ZERO,\n\t\t\t},\n\t\t\tpar: '',\n\t\t\tsar: '',\n\t\t\tscanType: '',\n\t\t\t...(byteRange && { byteRange }),\n\t\t\t...(map?.uri && { urlInitialization: map?.uri }),\n\t\t} as VideoTrack);\n\t});\n\n\tswitchingSetVideos.push({\n\t\tid: `video`,\n\t\ttracks: videoTracks,\n\t} as SwitchingSet);\n\n\treturn switchingSetVideos;\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import type { Presentation } from '../../types/model/Presentation.js';
2
+ /**
3
+ * Convert dash manifest into a ham object.
4
+ *
5
+ * @example
6
+ * Example on how to import the cmaf module and convert the dash `manifest`
7
+ * into the ham manifest.
8
+ * ```ts
9
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
10
+ *
11
+ * const manifest = cmaf.dashToHam(dashManifest);
12
+ * ```
13
+ *
14
+ * @param manifest - String of the XML Dash manifest
15
+ * @returns List of presentations from ham
16
+ *
17
+ * @alpha
18
+ */
19
+ export declare function dashToHam(manifest: string): Presentation[];
20
+ //# sourceMappingURL=dashToHam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashToHam.d.ts","sourceRoot":"","sources":["../../../src/services/converters/dashToHam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAMtE;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAI1D"}
@@ -0,0 +1,25 @@
1
+ import { DashMapper } from '../../mapper/dash/DashMapper.js';
2
+ import { MapperContext } from '../../mapper/MapperContext.js';
3
+ /**
4
+ * Convert dash manifest into a ham object.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the dash `manifest`
8
+ * into the ham manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.dashToHam(dashManifest);
13
+ * ```
14
+ *
15
+ * @param manifest - String of the XML Dash manifest
16
+ * @returns List of presentations from ham
17
+ *
18
+ * @alpha
19
+ */
20
+ export function dashToHam(manifest) {
21
+ const mapperContext = MapperContext.getInstance();
22
+ mapperContext.setStrategy(new DashMapper());
23
+ return mapperContext.getHamFormat({ manifest, type: 'dash' });
24
+ }
25
+ //# sourceMappingURL=dashToHam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashToHam.js","sourceRoot":"","sources":["../../../src/services/converters/dashToHam.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACzC,MAAM,aAAa,GAAkB,aAAa,CAAC,WAAW,EAAE,CAAC;IACjE,aAAa,CAAC,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["import type { Presentation } from '../../types/model/Presentation.js';\n\nimport { DashMapper } from '../../mapper/dash/DashMapper.js';\nimport { MapperContext } from '../../mapper/MapperContext.js';\n\n\n/**\n * Convert dash manifest into a ham object.\n *\n * @example\n * Example on how to import the cmaf module and convert the dash `manifest`\n * into the ham manifest.\n * ```ts\n * import cmaf from '@svta/common-media-library/cmaf-ham';\n *\n * const manifest = cmaf.dashToHam(dashManifest);\n * ```\n *\n * @param manifest - String of the XML Dash manifest\n * @returns List of presentations from ham\n *\n * @alpha\n */\n\nexport function dashToHam(manifest: string): Presentation[] {\n\tconst mapperContext: MapperContext = MapperContext.getInstance();\n\tmapperContext.setStrategy(new DashMapper());\n\treturn mapperContext.getHamFormat({ manifest, type: 'dash' });\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import type { Manifest } from '../../types/manifest/Manifest.js';
2
+ import type { Presentation } from '../../types/model/Presentation.js';
3
+ /**
4
+ * Convert HAM object into Dash Manifest.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the ham `presentations`
8
+ * array into the dash manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.hamToDash(presentations);
13
+ * ```
14
+ *
15
+ * @param presentation - List of presentations from ham
16
+ * @returns Manifest object containing the Dash manifest as string
17
+ *
18
+ * @alpha
19
+ */
20
+ export declare function hamToDash(presentation: Presentation[]): Manifest;
21
+ //# sourceMappingURL=hamToDash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hamToDash.d.ts","sourceRoot":"","sources":["../../../src/services/converters/hamToDash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKtE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAIhE"}
@@ -0,0 +1,25 @@
1
+ import { DashMapper } from '../../mapper/dash/DashMapper.js';
2
+ import { MapperContext } from '../../mapper/MapperContext.js';
3
+ /**
4
+ * Convert HAM object into Dash Manifest.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the ham `presentations`
8
+ * array into the dash manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.hamToDash(presentations);
13
+ * ```
14
+ *
15
+ * @param presentation - List of presentations from ham
16
+ * @returns Manifest object containing the Dash manifest as string
17
+ *
18
+ * @alpha
19
+ */
20
+ export function hamToDash(presentation) {
21
+ const mapperContext = MapperContext.getInstance();
22
+ mapperContext.setStrategy(new DashMapper());
23
+ return mapperContext.getManifestFormat(presentation);
24
+ }
25
+ //# sourceMappingURL=hamToDash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hamToDash.js","sourceRoot":"","sources":["../../../src/services/converters/hamToDash.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,YAA4B;IACrD,MAAM,aAAa,GAAkB,aAAa,CAAC,WAAW,EAAE,CAAC;IACjE,aAAa,CAAC,WAAW,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import type { Manifest } from '../../types/manifest/Manifest.js';\nimport type { Presentation } from '../../types/model/Presentation.js';\n\nimport { DashMapper } from '../../mapper/dash/DashMapper.js';\nimport { MapperContext } from '../../mapper/MapperContext.js';\n\n/**\n * Convert HAM object into Dash Manifest.\n *\n * @example\n * Example on how to import the cmaf module and convert the ham `presentations`\n * array into the dash manifest.\n * ```ts\n * import cmaf from '@svta/common-media-library/cmaf-ham';\n *\n * const manifest = cmaf.hamToDash(presentations);\n * ```\n *\n * @param presentation - List of presentations from ham\n * @returns Manifest object containing the Dash manifest as string\n *\n * @alpha\n */\nexport function hamToDash(presentation: Presentation[]): Manifest {\n\tconst mapperContext: MapperContext = MapperContext.getInstance();\n\tmapperContext.setStrategy(new DashMapper());\n\treturn mapperContext.getManifestFormat(presentation);\n}\n\n"]}
@@ -0,0 +1,21 @@
1
+ import type { Manifest } from '../../types/manifest/Manifest.js';
2
+ import type { Presentation } from '../../types/model/Presentation.js';
3
+ /**
4
+ * Convert ham object into a hls manifest.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the ham `presentations`
8
+ * array into the hls manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.hamToHls(presentations);
13
+ * ```
14
+ *
15
+ * @param presentation - List of presentations from ham
16
+ * @returns Manifest object containing the Hls manifest as string and its playlists
17
+ *
18
+ * @alpha
19
+ */
20
+ export declare function hamToHls(presentation: Presentation[]): Manifest;
21
+ //# sourceMappingURL=hamToHls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hamToHls.d.ts","sourceRoot":"","sources":["../../../src/services/converters/hamToHls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKtE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAI/D"}
@@ -0,0 +1,25 @@
1
+ import { HlsMapper } from '../../mapper/hls/HlsMapper.js';
2
+ import { MapperContext } from '../../mapper/MapperContext.js';
3
+ /**
4
+ * Convert ham object into a hls manifest.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the ham `presentations`
8
+ * array into the hls manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.hamToHls(presentations);
13
+ * ```
14
+ *
15
+ * @param presentation - List of presentations from ham
16
+ * @returns Manifest object containing the Hls manifest as string and its playlists
17
+ *
18
+ * @alpha
19
+ */
20
+ export function hamToHls(presentation) {
21
+ const mapperContext = MapperContext.getInstance();
22
+ mapperContext.setStrategy(new HlsMapper());
23
+ return mapperContext.getManifestFormat(presentation);
24
+ }
25
+ //# sourceMappingURL=hamToHls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hamToHls.js","sourceRoot":"","sources":["../../../src/services/converters/hamToHls.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,QAAQ,CAAC,YAA4B;IACpD,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAClD,aAAa,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import type { Manifest } from '../../types/manifest/Manifest.js';\nimport type { Presentation } from '../../types/model/Presentation.js';\n\nimport { HlsMapper } from '../../mapper/hls/HlsMapper.js';\nimport { MapperContext } from '../../mapper/MapperContext.js';\n\n/**\n * Convert ham object into a hls manifest.\n *\n * @example\n * Example on how to import the cmaf module and convert the ham `presentations`\n * array into the hls manifest.\n * ```ts\n * import cmaf from '@svta/common-media-library/cmaf-ham';\n *\n * const manifest = cmaf.hamToHls(presentations);\n * ```\n *\n * @param presentation - List of presentations from ham\n * @returns Manifest object containing the Hls manifest as string and its playlists\n *\n * @alpha\n */\nexport function hamToHls(presentation: Presentation[]): Manifest {\n\tconst mapperContext = MapperContext.getInstance();\n\tmapperContext.setStrategy(new HlsMapper());\n\treturn mapperContext.getManifestFormat(presentation);\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import type { Presentation } from '../../types/model/Presentation.js';
2
+ /**
3
+ * Convert hls manifest into a ham object.
4
+ *
5
+ * @example
6
+ * Example on how to import the cmaf module and convert the hls `manifest` and
7
+ * `ancillaryManifests` array into the ham manifest.
8
+ * ```ts
9
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
10
+ *
11
+ * const manifest = cmaf.hlsToHam(hlsManifest);
12
+ * ```
13
+ *
14
+ * @param manifest - String of the Main manifest
15
+ * @param ancillaryManifests - Ancillary Manifests . Must be in order, first audio, subtitle and video
16
+ * @returns List of presentations from ham
17
+ *
18
+ * @alpha
19
+ */
20
+ export declare function hlsToHam(manifest: string, ancillaryManifests: string[]): Presentation[];
21
+ //# sourceMappingURL=hlsToHam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hlsToHam.d.ts","sourceRoot":"","sources":["../../../src/services/converters/hlsToHam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKtE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACvB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAAE,GAC1B,YAAY,EAAE,CAWhB"}
@@ -0,0 +1,33 @@
1
+ import { HlsMapper } from '../../mapper/hls/HlsMapper.js';
2
+ import { MapperContext } from '../../mapper/MapperContext.js';
3
+ /**
4
+ * Convert hls manifest into a ham object.
5
+ *
6
+ * @example
7
+ * Example on how to import the cmaf module and convert the hls `manifest` and
8
+ * `ancillaryManifests` array into the ham manifest.
9
+ * ```ts
10
+ * import cmaf from '@svta/common-media-library/cmaf-ham';
11
+ *
12
+ * const manifest = cmaf.hlsToHam(hlsManifest);
13
+ * ```
14
+ *
15
+ * @param manifest - String of the Main manifest
16
+ * @param ancillaryManifests - Ancillary Manifests . Must be in order, first audio, subtitle and video
17
+ * @returns List of presentations from ham
18
+ *
19
+ * @alpha
20
+ */
21
+ export function hlsToHam(manifest, ancillaryManifests) {
22
+ const mapperContext = MapperContext.getInstance();
23
+ mapperContext.setStrategy(new HlsMapper());
24
+ return mapperContext.getHamFormat({
25
+ manifest,
26
+ ancillaryManifests: ancillaryManifests.map((ancillaryManifest) => ({
27
+ manifest: ancillaryManifest,
28
+ type: 'hls',
29
+ })),
30
+ type: 'hls',
31
+ });
32
+ }
33
+ //# sourceMappingURL=hlsToHam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hlsToHam.js","sourceRoot":"","sources":["../../../src/services/converters/hlsToHam.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CACvB,QAAgB,EAChB,kBAA4B;IAE5B,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;IAClD,aAAa,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,YAAY,CAAC;QACjC,QAAQ;QACR,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,iBAAiB;YAC3B,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;QACH,IAAI,EAAE,KAAK;KACX,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { Presentation } from '../../types/model/Presentation.js';\n\nimport { HlsMapper } from '../../mapper/hls/HlsMapper.js';\nimport { MapperContext } from '../../mapper/MapperContext.js';\n\n/**\n * Convert hls manifest into a ham object.\n *\n * @example\n * Example on how to import the cmaf module and convert the hls `manifest` and\n * `ancillaryManifests` array into the ham manifest.\n * ```ts\n * import cmaf from '@svta/common-media-library/cmaf-ham';\n *\n * const manifest = cmaf.hlsToHam(hlsManifest);\n * ```\n *\n * @param manifest - String of the Main manifest\n * @param ancillaryManifests - Ancillary Manifests . Must be in order, first audio, subtitle and video\n * @returns List of presentations from ham\n *\n * @alpha\n */\nexport function hlsToHam(\n\tmanifest: string,\n\tancillaryManifests: string[],\n): Presentation[] {\n\tconst mapperContext = MapperContext.getInstance();\n\tmapperContext.setStrategy(new HlsMapper());\n\treturn mapperContext.getHamFormat({\n\t\tmanifest,\n\t\tancillaryManifests: ancillaryManifests.map((ancillaryManifest) => ({\n\t\t\tmanifest: ancillaryManifest,\n\t\t\ttype: 'hls',\n\t\t})),\n\t\ttype: 'hls',\n\t});\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { Presentation } from '../../types/model/Presentation.js';
2
+ import type { Track } from '../../types/model/Track.js';
3
+ /**
4
+ * Get a list of Tracks contained on a Presentation
5
+ *
6
+ * @param presentation - Presentation object from HAM
7
+ * @param predicate - Filtering function
8
+ * @returns Track[]
9
+ *
10
+ * @alpha
11
+ */
12
+ export declare function getTracksFromPresentation(presentation: Presentation, predicate?: (track: Track) => boolean): Track[];
13
+ //# sourceMappingURL=getTracksFromPresentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTracksFromPresentation.d.ts","sourceRoot":"","sources":["../../../src/services/getters/getTracksFromPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAIxD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GACnC,KAAK,EAAE,CAKT"}
@@ -0,0 +1,15 @@
1
+ import { getTracksFromSelectionSet } from './getTracksFromSelectionSet.js';
2
+ /**
3
+ * Get a list of Tracks contained on a Presentation
4
+ *
5
+ * @param presentation - Presentation object from HAM
6
+ * @param predicate - Filtering function
7
+ * @returns Track[]
8
+ *
9
+ * @alpha
10
+ */
11
+ export function getTracksFromPresentation(presentation, predicate) {
12
+ const tracks = presentation.selectionSets.flatMap((selectionSet) => getTracksFromSelectionSet(selectionSet));
13
+ return predicate ? tracks.filter(predicate) : tracks;
14
+ }
15
+ //# sourceMappingURL=getTracksFromPresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTracksFromPresentation.js","sourceRoot":"","sources":["../../../src/services/getters/getTracksFromPresentation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACxC,YAA0B,EAC1B,SAAqC;IAErC,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAClE,yBAAyB,CAAC,YAAY,CAAC,CACvC,CAAC;IACF,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC","sourcesContent":["import type { Presentation } from '../../types/model/Presentation.js';\nimport type { Track } from '../../types/model/Track.js';\n\nimport { getTracksFromSelectionSet } from './getTracksFromSelectionSet.js';\n\n/**\n * Get a list of Tracks contained on a Presentation\n *\n * @param presentation - Presentation object from HAM\n * @param predicate - Filtering function\n * @returns Track[]\n *\n * @alpha\n */\nexport function getTracksFromPresentation(\n\tpresentation: Presentation,\n\tpredicate?: (track: Track) => boolean,\n): Track[] {\n\tconst tracks = presentation.selectionSets.flatMap((selectionSet) =>\n\t\tgetTracksFromSelectionSet(selectionSet),\n\t);\n\treturn predicate ? tracks.filter(predicate) : tracks;\n}\n"]}
@@ -0,0 +1,13 @@
1
+ import type { SelectionSet } from '../../types/model/SelectionSet.js';
2
+ import type { Track } from '../../types/model/Track.js';
3
+ /**
4
+ * Get a list of Tracks contained on a SelectionSet
5
+ *
6
+ * @param selectionSet - SelectionSet object from HAM
7
+ * @param predicate - Filtering function
8
+ * @returns Track[]
9
+ *
10
+ * @alpha
11
+ */
12
+ export declare function getTracksFromSelectionSet(selectionSet: SelectionSet, predicate?: (track: Track) => boolean): Track[];
13
+ //# sourceMappingURL=getTracksFromSelectionSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTracksFromSelectionSet.d.ts","sourceRoot":"","sources":["../../../src/services/getters/getTracksFromSelectionSet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAIxD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GACnC,KAAK,EAAE,CAKT"}