@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.
- package/LICENSE +201 -0
- package/README.md +9 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/mapper/Mapper.d.ts +8 -0
- package/dist/mapper/Mapper.d.ts.map +1 -0
- package/dist/mapper/Mapper.js +2 -0
- package/dist/mapper/Mapper.js.map +1 -0
- package/dist/mapper/MapperContext.d.ts +14 -0
- package/dist/mapper/MapperContext.d.ts.map +1 -0
- package/dist/mapper/MapperContext.js +22 -0
- package/dist/mapper/MapperContext.js.map +1 -0
- package/dist/mapper/dash/DashMapper.d.ts +10 -0
- package/dist/mapper/dash/DashMapper.d.ts.map +1 -0
- package/dist/mapper/dash/DashMapper.js +23 -0
- package/dist/mapper/dash/DashMapper.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts +12 -0
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.js +42 -0
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js +20 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts +12 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.js +25 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts +15 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js +27 -0
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts +20 -0
- package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapSegments.js +37 -0
- package/dist/mapper/dash/mapDashToHam/mapSegments.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts +19 -0
- package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/mapTracks.js +72 -0
- package/dist/mapper/dash/mapDashToHam/mapTracks.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.js +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.js +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts +14 -0
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.js +37 -0
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts +16 -0
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js +31 -0
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts +3 -0
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.js +6 -0
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts +14 -0
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js +32 -0
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts +11 -0
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js +17 -0
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts +17 -0
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js +21 -0
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js +15 -0
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts +13 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSar.js +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/getSar.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts +16 -0
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js +19 -0
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts +18 -0
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts.map +1 -0
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js +34 -0
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts +3 -0
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.js +17 -0
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts +4 -0
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js +16 -0
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts +4 -0
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js +22 -0
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts +4 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js +61 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts +4 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js +27 -0
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts +4 -0
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js +52 -0
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts +13 -0
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js +25 -0
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js.map +1 -0
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts +16 -0
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts.map +1 -0
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js +30 -0
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js.map +1 -0
- package/dist/mapper/hls/HlsMapper.d.ts +10 -0
- package/dist/mapper/hls/HlsMapper.d.ts.map +1 -0
- package/dist/mapper/hls/HlsMapper.js +17 -0
- package/dist/mapper/hls/HlsMapper.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts +8 -0
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js +26 -0
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts +4 -0
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.js +29 -0
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts +14 -0
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.js +22 -0
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts +14 -0
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js +16 -0
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts +13 -0
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.js +23 -0
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.js.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts +14 -0
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts.map +1 -0
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js +16 -0
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts +16 -0
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js +55 -0
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts +4 -0
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js +41 -0
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts +4 -0
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js +35 -0
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts +14 -0
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js +23 -0
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts +13 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js +17 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts +13 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js +31 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts +17 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js +21 -0
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts +5 -0
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts.map +1 -0
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js +46 -0
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js.map +1 -0
- package/dist/services/converters/dashToHam.d.ts +20 -0
- package/dist/services/converters/dashToHam.d.ts.map +1 -0
- package/dist/services/converters/dashToHam.js +25 -0
- package/dist/services/converters/dashToHam.js.map +1 -0
- package/dist/services/converters/hamToDash.d.ts +21 -0
- package/dist/services/converters/hamToDash.d.ts.map +1 -0
- package/dist/services/converters/hamToDash.js +25 -0
- package/dist/services/converters/hamToDash.js.map +1 -0
- package/dist/services/converters/hamToHls.d.ts +21 -0
- package/dist/services/converters/hamToHls.d.ts.map +1 -0
- package/dist/services/converters/hamToHls.js +25 -0
- package/dist/services/converters/hamToHls.js.map +1 -0
- package/dist/services/converters/hlsToHam.d.ts +21 -0
- package/dist/services/converters/hlsToHam.d.ts.map +1 -0
- package/dist/services/converters/hlsToHam.js +33 -0
- package/dist/services/converters/hlsToHam.js.map +1 -0
- package/dist/services/getters/getTracksFromPresentation.d.ts +13 -0
- package/dist/services/getters/getTracksFromPresentation.d.ts.map +1 -0
- package/dist/services/getters/getTracksFromPresentation.js +15 -0
- package/dist/services/getters/getTracksFromPresentation.js.map +1 -0
- package/dist/services/getters/getTracksFromSelectionSet.d.ts +13 -0
- package/dist/services/getters/getTracksFromSelectionSet.d.ts.map +1 -0
- package/dist/services/getters/getTracksFromSelectionSet.js +15 -0
- package/dist/services/getters/getTracksFromSelectionSet.js.map +1 -0
- package/dist/services/getters/getTracksFromSwitchingSet.d.ts +13 -0
- package/dist/services/getters/getTracksFromSwitchingSet.d.ts.map +1 -0
- package/dist/services/getters/getTracksFromSwitchingSet.js +14 -0
- package/dist/services/getters/getTracksFromSwitchingSet.js.map +1 -0
- package/dist/services/validators/validatePresentation.d.ts +29 -0
- package/dist/services/validators/validatePresentation.d.ts.map +1 -0
- package/dist/services/validators/validatePresentation.js +36 -0
- package/dist/services/validators/validatePresentation.js.map +1 -0
- package/dist/services/validators/validateSegment.d.ts +18 -0
- package/dist/services/validators/validateSegment.d.ts.map +1 -0
- package/dist/services/validators/validateSegment.js +33 -0
- package/dist/services/validators/validateSegment.js.map +1 -0
- package/dist/services/validators/validateSegments.d.ts +27 -0
- package/dist/services/validators/validateSegments.d.ts.map +1 -0
- package/dist/services/validators/validateSegments.js +35 -0
- package/dist/services/validators/validateSegments.js.map +1 -0
- package/dist/services/validators/validateSelectionSet.d.ts +31 -0
- package/dist/services/validators/validateSelectionSet.d.ts.map +1 -0
- package/dist/services/validators/validateSelectionSet.js +44 -0
- package/dist/services/validators/validateSelectionSet.js.map +1 -0
- package/dist/services/validators/validateSelectionSets.d.ts +28 -0
- package/dist/services/validators/validateSelectionSets.d.ts.map +1 -0
- package/dist/services/validators/validateSelectionSets.js +36 -0
- package/dist/services/validators/validateSelectionSets.js.map +1 -0
- package/dist/services/validators/validateSwitchingSet.d.ts +31 -0
- package/dist/services/validators/validateSwitchingSet.d.ts.map +1 -0
- package/dist/services/validators/validateSwitchingSet.js +44 -0
- package/dist/services/validators/validateSwitchingSet.js.map +1 -0
- package/dist/services/validators/validateSwitchingSets.d.ts +28 -0
- package/dist/services/validators/validateSwitchingSets.d.ts.map +1 -0
- package/dist/services/validators/validateSwitchingSets.js +36 -0
- package/dist/services/validators/validateSwitchingSets.js.map +1 -0
- package/dist/services/validators/validateTrack.d.ts +32 -0
- package/dist/services/validators/validateTrack.d.ts.map +1 -0
- package/dist/services/validators/validateTrack.js +140 -0
- package/dist/services/validators/validateTrack.js.map +1 -0
- package/dist/services/validators/validateTracks.d.ts +28 -0
- package/dist/services/validators/validateTracks.d.ts.map +1 -0
- package/dist/services/validators/validateTracks.js +47 -0
- package/dist/services/validators/validateTracks.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/Validation.d.ts +10 -0
- package/dist/types/Validation.d.ts.map +1 -0
- package/dist/types/Validation.js +2 -0
- package/dist/types/Validation.js.map +1 -0
- package/dist/types/manifest/Manifest.d.ts +14 -0
- package/dist/types/manifest/Manifest.d.ts.map +1 -0
- package/dist/types/manifest/Manifest.js +2 -0
- package/dist/types/manifest/Manifest.js.map +1 -0
- package/dist/types/manifest/ManifestFormat.d.ts +7 -0
- package/dist/types/manifest/ManifestFormat.d.ts.map +1 -0
- package/dist/types/manifest/ManifestFormat.js +2 -0
- package/dist/types/manifest/ManifestFormat.js.map +1 -0
- package/dist/types/mapper/dash/AdaptationSet.d.ts +41 -0
- package/dist/types/mapper/dash/AdaptationSet.d.ts.map +1 -0
- package/dist/types/mapper/dash/AdaptationSet.js +2 -0
- package/dist/types/mapper/dash/AdaptationSet.js.map +1 -0
- package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts +12 -0
- package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts.map +1 -0
- package/dist/types/mapper/dash/AudioChannelConfiguration.js +2 -0
- package/dist/types/mapper/dash/AudioChannelConfiguration.js.map +1 -0
- package/dist/types/mapper/dash/ContentComponent.d.ts +11 -0
- package/dist/types/mapper/dash/ContentComponent.d.ts.map +1 -0
- package/dist/types/mapper/dash/ContentComponent.js +2 -0
- package/dist/types/mapper/dash/ContentComponent.js.map +1 -0
- package/dist/types/mapper/dash/DashManifest.d.ts +20 -0
- package/dist/types/mapper/dash/DashManifest.d.ts.map +1 -0
- package/dist/types/mapper/dash/DashManifest.js +2 -0
- package/dist/types/mapper/dash/DashManifest.js.map +1 -0
- package/dist/types/mapper/dash/Initialization.d.ts +12 -0
- package/dist/types/mapper/dash/Initialization.d.ts.map +1 -0
- package/dist/types/mapper/dash/Initialization.js +2 -0
- package/dist/types/mapper/dash/Initialization.js.map +1 -0
- package/dist/types/mapper/dash/Period.d.ts +15 -0
- package/dist/types/mapper/dash/Period.d.ts.map +1 -0
- package/dist/types/mapper/dash/Period.js +2 -0
- package/dist/types/mapper/dash/Period.js.map +1 -0
- package/dist/types/mapper/dash/Representation.d.ts +30 -0
- package/dist/types/mapper/dash/Representation.d.ts.map +1 -0
- package/dist/types/mapper/dash/Representation.js +2 -0
- package/dist/types/mapper/dash/Representation.js.map +1 -0
- package/dist/types/mapper/dash/Role.d.ts +12 -0
- package/dist/types/mapper/dash/Role.d.ts.map +1 -0
- package/dist/types/mapper/dash/Role.js +2 -0
- package/dist/types/mapper/dash/Role.js.map +1 -0
- package/dist/types/mapper/dash/SegmentBase.d.ts +15 -0
- package/dist/types/mapper/dash/SegmentBase.d.ts.map +1 -0
- package/dist/types/mapper/dash/SegmentBase.js +2 -0
- package/dist/types/mapper/dash/SegmentBase.js.map +1 -0
- package/dist/types/mapper/dash/SegmentList.d.ts +16 -0
- package/dist/types/mapper/dash/SegmentList.d.ts.map +1 -0
- package/dist/types/mapper/dash/SegmentList.js +2 -0
- package/dist/types/mapper/dash/SegmentList.js.map +1 -0
- package/dist/types/mapper/dash/SegmentTemplate.d.ts +17 -0
- package/dist/types/mapper/dash/SegmentTemplate.d.ts.map +1 -0
- package/dist/types/mapper/dash/SegmentTemplate.js +2 -0
- package/dist/types/mapper/dash/SegmentTemplate.js.map +1 -0
- package/dist/types/mapper/dash/SegmentUrl.d.ts +11 -0
- package/dist/types/mapper/dash/SegmentUrl.d.ts.map +1 -0
- package/dist/types/mapper/dash/SegmentUrl.js +2 -0
- package/dist/types/mapper/dash/SegmentUrl.js.map +1 -0
- package/dist/types/mapper/hls/Byterange.d.ts +11 -0
- package/dist/types/mapper/hls/Byterange.d.ts.map +1 -0
- package/dist/types/mapper/hls/Byterange.js +2 -0
- package/dist/types/mapper/hls/Byterange.js.map +1 -0
- package/dist/types/mapper/hls/HlsManifest.d.ts +15 -0
- package/dist/types/mapper/hls/HlsManifest.d.ts.map +1 -0
- package/dist/types/mapper/hls/HlsManifest.js +2 -0
- package/dist/types/mapper/hls/HlsManifest.js.map +1 -0
- package/dist/types/mapper/hls/MediaGroups.d.ts +22 -0
- package/dist/types/mapper/hls/MediaGroups.d.ts.map +1 -0
- package/dist/types/mapper/hls/MediaGroups.js +2 -0
- package/dist/types/mapper/hls/MediaGroups.js.map +1 -0
- package/dist/types/mapper/hls/Playlist.d.ts +18 -0
- package/dist/types/mapper/hls/Playlist.d.ts.map +1 -0
- package/dist/types/mapper/hls/Playlist.js +2 -0
- package/dist/types/mapper/hls/Playlist.js.map +1 -0
- package/dist/types/mapper/hls/SegmentHls.d.ts +18 -0
- package/dist/types/mapper/hls/SegmentHls.d.ts.map +1 -0
- package/dist/types/mapper/hls/SegmentHls.js +2 -0
- package/dist/types/mapper/hls/SegmentHls.js.map +1 -0
- package/dist/types/model/AlignedSwitchingSet.d.ts +10 -0
- package/dist/types/model/AlignedSwitchingSet.d.ts.map +1 -0
- package/dist/types/model/AlignedSwitchingSet.js +2 -0
- package/dist/types/model/AlignedSwitchingSet.js.map +1 -0
- package/dist/types/model/AudioTrack.d.ts +17 -0
- package/dist/types/model/AudioTrack.d.ts.map +1 -0
- package/dist/types/model/AudioTrack.js +2 -0
- package/dist/types/model/AudioTrack.js.map +1 -0
- package/dist/types/model/FrameRate.d.ts +14 -0
- package/dist/types/model/FrameRate.d.ts.map +1 -0
- package/dist/types/model/FrameRate.js +11 -0
- package/dist/types/model/FrameRate.js.map +1 -0
- package/dist/types/model/Ham.d.ts +11 -0
- package/dist/types/model/Ham.d.ts.map +1 -0
- package/dist/types/model/Ham.js +2 -0
- package/dist/types/model/Ham.js.map +1 -0
- package/dist/types/model/Presentation.d.ts +13 -0
- package/dist/types/model/Presentation.d.ts.map +1 -0
- package/dist/types/model/Presentation.js +2 -0
- package/dist/types/model/Presentation.js.map +1 -0
- package/dist/types/model/Segment.d.ts +11 -0
- package/dist/types/model/Segment.d.ts.map +1 -0
- package/dist/types/model/Segment.js +2 -0
- package/dist/types/model/Segment.js.map +1 -0
- package/dist/types/model/SelectionSet.d.ts +13 -0
- package/dist/types/model/SelectionSet.d.ts.map +1 -0
- package/dist/types/model/SelectionSet.js +2 -0
- package/dist/types/model/SelectionSet.js.map +1 -0
- package/dist/types/model/SwitchingSet.d.ts +11 -0
- package/dist/types/model/SwitchingSet.d.ts.map +1 -0
- package/dist/types/model/SwitchingSet.js +2 -0
- package/dist/types/model/SwitchingSet.js.map +1 -0
- package/dist/types/model/TextTrack.d.ts +8 -0
- package/dist/types/model/TextTrack.d.ts.map +1 -0
- package/dist/types/model/TextTrack.js +2 -0
- package/dist/types/model/TextTrack.js.map +1 -0
- package/dist/types/model/Track.d.ts +32 -0
- package/dist/types/model/Track.d.ts.map +1 -0
- package/dist/types/model/Track.js +2 -0
- package/dist/types/model/Track.js.map +1 -0
- package/dist/types/model/TrackType.d.ts +8 -0
- package/dist/types/model/TrackType.d.ts.map +1 -0
- package/dist/types/model/TrackType.js +2 -0
- package/dist/types/model/TrackType.js.map +1 -0
- package/dist/types/model/VideoTrack.d.ts +23 -0
- package/dist/types/model/VideoTrack.d.ts.map +1 -0
- package/dist/types/model/VideoTrack.js +2 -0
- package/dist/types/model/VideoTrack.js.map +1 -0
- package/dist/utils/constants.d.ts +16 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +21 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/dash/iso8601DurationToNumber.d.ts +2 -0
- package/dist/utils/dash/iso8601DurationToNumber.d.ts.map +1 -0
- package/dist/utils/dash/iso8601DurationToNumber.js +17 -0
- package/dist/utils/dash/iso8601DurationToNumber.js.map +1 -0
- package/dist/utils/dash/numberToIso8601Duration.d.ts +2 -0
- package/dist/utils/dash/numberToIso8601Duration.d.ts.map +1 -0
- package/dist/utils/dash/numberToIso8601Duration.js +13 -0
- package/dist/utils/dash/numberToIso8601Duration.js.map +1 -0
- package/dist/utils/dash/parseDashManifest.d.ts +22 -0
- package/dist/utils/dash/parseDashManifest.d.ts.map +1 -0
- package/dist/utils/dash/parseDashManifest.js +24 -0
- package/dist/utils/dash/parseDashManifest.js.map +1 -0
- package/dist/utils/dash/serializeDashManifest.d.ts +18 -0
- package/dist/utils/dash/serializeDashManifest.d.ts.map +1 -0
- package/dist/utils/dash/serializeDashManifest.js +20 -0
- package/dist/utils/dash/serializeDashManifest.js.map +1 -0
- package/dist/utils/hls/parseHlsManifest.d.ts +18 -0
- package/dist/utils/hls/parseHlsManifest.d.ts.map +1 -0
- package/dist/utils/hls/parseHlsManifest.js +24 -0
- package/dist/utils/hls/parseHlsManifest.js.map +1 -0
- package/dist/utils/manifest/addMetadataToDash.d.ts +4 -0
- package/dist/utils/manifest/addMetadataToDash.d.ts.map +1 -0
- package/dist/utils/manifest/addMetadataToDash.js +15 -0
- package/dist/utils/manifest/addMetadataToDash.js.map +1 -0
- package/dist/utils/manifest/addMetadataToHls.d.ts +3 -0
- package/dist/utils/manifest/addMetadataToHls.d.ts.map +1 -0
- package/dist/utils/manifest/addMetadataToHls.js +15 -0
- package/dist/utils/manifest/addMetadataToHls.js.map +1 -0
- package/dist/utils/manifest/getMetadata.d.ts +3 -0
- package/dist/utils/manifest/getMetadata.d.ts.map +1 -0
- package/dist/utils/manifest/getMetadata.js +5 -0
- package/dist/utils/manifest/getMetadata.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SegmentTemplate } from '../../../../types/mapper/dash/SegmentTemplate.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*
|
|
5
|
+
* Calculates the number of segments that a track has to use SegmentTemplate.
|
|
6
|
+
*
|
|
7
|
+
* Equation used:
|
|
8
|
+
* segments = total duration / (segment duration / timescale)
|
|
9
|
+
*
|
|
10
|
+
* **This equation might be wrong, please double-check it**
|
|
11
|
+
*
|
|
12
|
+
* @param segmentTemplate - SegmentTemplate object
|
|
13
|
+
* @param duration - Total duration of the content
|
|
14
|
+
* @returns Number of segments
|
|
15
|
+
*/
|
|
16
|
+
export declare function getNumberOfSegments(segmentTemplate: SegmentTemplate, duration: number): number;
|
|
17
|
+
//# sourceMappingURL=getNumberOfSegments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNumberOfSegments.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getNumberOfSegments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAClC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,GACd,MAAM,CASR"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { calculateDuration } from './calculateDuration.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*
|
|
5
|
+
* Calculates the number of segments that a track has to use SegmentTemplate.
|
|
6
|
+
*
|
|
7
|
+
* Equation used:
|
|
8
|
+
* segments = total duration / (segment duration / timescale)
|
|
9
|
+
*
|
|
10
|
+
* **This equation might be wrong, please double-check it**
|
|
11
|
+
*
|
|
12
|
+
* @param segmentTemplate - SegmentTemplate object
|
|
13
|
+
* @param duration - Total duration of the content
|
|
14
|
+
* @returns Number of segments
|
|
15
|
+
*/
|
|
16
|
+
export function getNumberOfSegments(segmentTemplate, duration) {
|
|
17
|
+
// FIXME: This equation may be wrong
|
|
18
|
+
return Math.round(duration /
|
|
19
|
+
calculateDuration(segmentTemplate.$.duration, segmentTemplate.$.timescale));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=getNumberOfSegments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getNumberOfSegments.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getNumberOfSegments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAClC,eAAgC,EAChC,QAAgB;IAEhB,oCAAoC;IACpC,OAAO,IAAI,CAAC,KAAK,CAChB,QAAQ;QACR,iBAAiB,CAChB,eAAe,CAAC,CAAC,CAAC,QAAQ,EAC1B,eAAe,CAAC,CAAC,CAAC,SAAS,CAC3B,CACD,CAAC;AACH,CAAC","sourcesContent":["import type { SegmentTemplate } from '../../../../types/mapper/dash/SegmentTemplate.js';\nimport { calculateDuration } from './calculateDuration.js';\n/**\n * @internal\n *\n * Calculates the number of segments that a track has to use SegmentTemplate.\n *\n * Equation used:\n * segments = total duration / (segment duration / timescale)\n *\n * **This equation might be wrong, please double-check it**\n *\n * @param segmentTemplate - SegmentTemplate object\n * @param duration - Total duration of the content\n * @returns Number of segments\n */\nexport function getNumberOfSegments(\n\tsegmentTemplate: SegmentTemplate,\n\tduration: number,\n): number {\n\t// FIXME: This equation may be wrong\n\treturn Math.round(\n\t\tduration /\n\t\tcalculateDuration(\n\t\t\tsegmentTemplate.$.duration,\n\t\t\tsegmentTemplate.$.timescale,\n\t\t),\n\t);\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Period } from '../../../../types/mapper/dash/Period.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*
|
|
5
|
+
* Generates a presentation id. It uses the period id as default or creates one
|
|
6
|
+
* if none is present.
|
|
7
|
+
*
|
|
8
|
+
* @param period - Period to try to get the id from
|
|
9
|
+
* @param duration - Duration of the content
|
|
10
|
+
* @returns Presentation id
|
|
11
|
+
*/
|
|
12
|
+
export declare function getPresentationId(period: Period, duration: number): string;
|
|
13
|
+
//# sourceMappingURL=getPresentationId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPresentationId.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getPresentationId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*
|
|
4
|
+
* Generates a presentation id. It uses the period id as default or creates one
|
|
5
|
+
* if none is present.
|
|
6
|
+
*
|
|
7
|
+
* @param period - Period to try to get the id from
|
|
8
|
+
* @param duration - Duration of the content
|
|
9
|
+
* @returns Presentation id
|
|
10
|
+
*/
|
|
11
|
+
export function getPresentationId(period, duration) {
|
|
12
|
+
var _a;
|
|
13
|
+
return (_a = period.$.id) !== null && _a !== void 0 ? _a : `presentation-id-${duration}`;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=getPresentationId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPresentationId.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getPresentationId.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,QAAgB;;IACjE,OAAO,MAAA,MAAM,CAAC,CAAC,CAAC,EAAE,mCAAI,mBAAmB,QAAQ,EAAE,CAAC;AACrD,CAAC","sourcesContent":["import type { Period } from '../../../../types/mapper/dash/Period.js';\n\n/**\n * @internal\n *\n * Generates a presentation id. It uses the period id as default or creates one\n * if none is present.\n *\n * @param period - Period to try to get the id from\n * @param duration - Duration of the content\n * @returns Presentation id\n */\nexport function getPresentationId(period: Period, duration: number): string {\n\treturn period.$.id ?? `presentation-id-${duration}`;\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AdaptationSet } from '../../../../types/mapper/dash/AdaptationSet.js';
|
|
2
|
+
import type { Representation } from '../../../../types/mapper/dash/Representation.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*
|
|
6
|
+
* Get sample rate (audio).
|
|
7
|
+
*
|
|
8
|
+
* @param adaptationSet - AdaptationSet to try to get the sampleRate from
|
|
9
|
+
* @param representation - Representation to try to get the sampleRate from
|
|
10
|
+
* @returns Sample rate. In case it is not presents, it returns 0.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getSampleRate(adaptationSet: AdaptationSet, representation: Representation): number;
|
|
13
|
+
//# sourceMappingURL=getSampleRate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSampleRate.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getSampleRate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEtF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC5B,MAAM,CAYR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*
|
|
4
|
+
* Get sample rate (audio).
|
|
5
|
+
*
|
|
6
|
+
* @param adaptationSet - AdaptationSet to try to get the sampleRate from
|
|
7
|
+
* @param representation - Representation to try to get the sampleRate from
|
|
8
|
+
* @returns Sample rate. In case it is not presents, it returns 0.
|
|
9
|
+
*/
|
|
10
|
+
export function getSampleRate(adaptationSet, representation) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const sampleRate = +((_b = (_a = representation.$.audioSamplingRate) !== null && _a !== void 0 ? _a : adaptationSet.$.audioSamplingRate) !== null && _b !== void 0 ? _b : 0);
|
|
13
|
+
if (!sampleRate) {
|
|
14
|
+
console.error(`Representation ${representation.$.id} has no audioSamplingRate`);
|
|
15
|
+
}
|
|
16
|
+
return sampleRate;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getSampleRate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSampleRate.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getSampleRate.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC5B,aAA4B,EAC5B,cAA8B;;IAE9B,MAAM,UAAU,GAAW,CAAC,CAC3B,MAAA,MAAA,cAAc,CAAC,CAAC,CAAC,iBAAiB,mCAClC,aAAa,CAAC,CAAC,CAAC,iBAAiB,mCACjC,CAAC,CACD,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CACZ,kBAAkB,cAAc,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAChE,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC","sourcesContent":["import type { AdaptationSet } from '../../../../types/mapper/dash/AdaptationSet.js';\nimport type { Representation } from '../../../../types/mapper/dash/Representation.js';\n\n/**\n * @internal\n *\n * Get sample rate (audio).\n *\n * @param adaptationSet - AdaptationSet to try to get the sampleRate from\n * @param representation - Representation to try to get the sampleRate from\n * @returns Sample rate. In case it is not presents, it returns 0.\n */\nexport function getSampleRate(\n\tadaptationSet: AdaptationSet,\n\trepresentation: Representation,\n): number {\n\tconst sampleRate: number = +(\n\t\trepresentation.$.audioSamplingRate ??\n\t\tadaptationSet.$.audioSamplingRate ??\n\t\t0\n\t);\n\tif (!sampleRate) {\n\t\tconsole.error(\n\t\t\t`Representation ${representation.$.id} has no audioSamplingRate`,\n\t\t);\n\t}\n\treturn sampleRate;\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AdaptationSet } from '../../../../types/mapper/dash/AdaptationSet.js';
|
|
2
|
+
import type { Representation } from '../../../../types/mapper/dash/Representation.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*
|
|
6
|
+
* Get the sar value. It can be present on adaptationSet or representation.
|
|
7
|
+
*
|
|
8
|
+
* @param adaptationSet - AdaptationSet to try to get the sar from
|
|
9
|
+
* @param representation - AdaptationSet to try to get the sar from
|
|
10
|
+
* @returns sar value. In case it is not present, returns empty string.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getSar(adaptationSet: AdaptationSet, representation: Representation): string;
|
|
13
|
+
//# sourceMappingURL=getSar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSar.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getSar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEtF;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACrB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC5B,MAAM,CAMR"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*
|
|
4
|
+
* Get the sar value. It can be present on adaptationSet or representation.
|
|
5
|
+
*
|
|
6
|
+
* @param adaptationSet - AdaptationSet to try to get the sar from
|
|
7
|
+
* @param representation - AdaptationSet to try to get the sar from
|
|
8
|
+
* @returns sar value. In case it is not present, returns empty string.
|
|
9
|
+
*/
|
|
10
|
+
export function getSar(adaptationSet, representation) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const sar = (_b = (_a = representation.$.sar) !== null && _a !== void 0 ? _a : adaptationSet.$.sar) !== null && _b !== void 0 ? _b : '';
|
|
13
|
+
if (!sar) {
|
|
14
|
+
console.error(`Representation ${representation.$.id} has no sar`);
|
|
15
|
+
}
|
|
16
|
+
return sar;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=getSar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSar.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getSar.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CACrB,aAA4B,EAC5B,cAA8B;;IAE9B,MAAM,GAAG,GAAW,MAAA,MAAA,cAAc,CAAC,CAAC,CAAC,GAAG,mCAAI,aAAa,CAAC,CAAC,CAAC,GAAG,mCAAI,EAAE,CAAC;IACtE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC","sourcesContent":["import type { AdaptationSet } from '../../../../types/mapper/dash/AdaptationSet.js';\nimport type { Representation } from '../../../../types/mapper/dash/Representation.js';\n\n/**\n * @internal\n *\n * Get the sar value. It can be present on adaptationSet or representation.\n *\n * @param adaptationSet - AdaptationSet to try to get the sar from\n * @param representation - AdaptationSet to try to get the sar from\n * @returns sar value. In case it is not present, returns empty string.\n */\nexport function getSar(\n\tadaptationSet: AdaptationSet,\n\trepresentation: Representation,\n): string {\n\tconst sar: string = representation.$.sar ?? adaptationSet.$.sar ?? '';\n\tif (!sar) {\n\t\tconsole.error(`Representation ${representation.$.id} has no sar`);\n\t}\n\treturn sar;\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Segment } from '../../../../types/model/Segment.js';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*
|
|
5
|
+
* Calculate the duration of a track.
|
|
6
|
+
*
|
|
7
|
+
* This is calculated using the sum of the duration of all the segments from the
|
|
8
|
+
* track.
|
|
9
|
+
*
|
|
10
|
+
* An alternative to this could be number of segments * duration of a segment.
|
|
11
|
+
*
|
|
12
|
+
* @param segments - Segments to calculate the sum of the durations
|
|
13
|
+
* @returns Duration of the track
|
|
14
|
+
*/
|
|
15
|
+
export declare function getTrackDuration(segments: Segment[]): number;
|
|
16
|
+
//# sourceMappingURL=getTrackDuration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrackDuration.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getTrackDuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAI5D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*
|
|
4
|
+
* Calculate the duration of a track.
|
|
5
|
+
*
|
|
6
|
+
* This is calculated using the sum of the duration of all the segments from the
|
|
7
|
+
* track.
|
|
8
|
+
*
|
|
9
|
+
* An alternative to this could be number of segments * duration of a segment.
|
|
10
|
+
*
|
|
11
|
+
* @param segments - Segments to calculate the sum of the durations
|
|
12
|
+
* @returns Duration of the track
|
|
13
|
+
*/
|
|
14
|
+
export function getTrackDuration(segments) {
|
|
15
|
+
return segments.reduce((acc, segment) => {
|
|
16
|
+
return acc + segment.duration;
|
|
17
|
+
}, 0);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=getTrackDuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrackDuration.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getTrackDuration.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAmB;IACnD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,OAAgB,EAAE,EAAE;QACxD,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC,EAAE,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import type { Segment } from '../../../../types/model/Segment.js';\n\n/**\n * @internal\n *\n * Calculate the duration of a track.\n *\n * This is calculated using the sum of the duration of all the segments from the\n * track.\n *\n * An alternative to this could be number of segments * duration of a segment.\n *\n * @param segments - Segments to calculate the sum of the durations\n * @returns Duration of the track\n */\nexport function getTrackDuration(segments: Segment[]): number {\n\treturn segments.reduce((acc: number, segment: Segment) => {\n\t\treturn acc + segment.duration;\n\t}, 0);\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Representation } from '../../../../types/mapper/dash/Representation.js';
|
|
2
|
+
import type { SegmentTemplate } from '../../../../types/mapper/dash/SegmentTemplate.js';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*
|
|
6
|
+
* Create the url from a segment template.
|
|
7
|
+
*
|
|
8
|
+
* Searches for substrings with the format `$value$` and replaces it with the correct value.
|
|
9
|
+
* - RepresentationID: id of the representation
|
|
10
|
+
* - Number: id of the segment. `%0Xd` defines the number `X` of digits it needs to have
|
|
11
|
+
*
|
|
12
|
+
* @param representation - Representation of the template
|
|
13
|
+
* @param segmentTemplate - Segment template
|
|
14
|
+
* @param segmentId - Segment id
|
|
15
|
+
* @returns url from the segment template
|
|
16
|
+
*/
|
|
17
|
+
export declare function getUrlFromTemplate(representation: Representation, segmentTemplate: SegmentTemplate, segmentId: number): string;
|
|
18
|
+
//# sourceMappingURL=getUrlFromTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUrlFromTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CACjC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,GACf,MAAM,CAoBR"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*
|
|
4
|
+
* Create the url from a segment template.
|
|
5
|
+
*
|
|
6
|
+
* Searches for substrings with the format `$value$` and replaces it with the correct value.
|
|
7
|
+
* - RepresentationID: id of the representation
|
|
8
|
+
* - Number: id of the segment. `%0Xd` defines the number `X` of digits it needs to have
|
|
9
|
+
*
|
|
10
|
+
* @param representation - Representation of the template
|
|
11
|
+
* @param segmentTemplate - Segment template
|
|
12
|
+
* @param segmentId - Segment id
|
|
13
|
+
* @returns url from the segment template
|
|
14
|
+
*/
|
|
15
|
+
export function getUrlFromTemplate(representation, segmentTemplate, segmentId) {
|
|
16
|
+
const regexTemplate = /\$(.*?)\$/g;
|
|
17
|
+
return segmentTemplate.$.media.replace(regexTemplate, (match) => {
|
|
18
|
+
if (match.includes('RepresentationID')) {
|
|
19
|
+
return representation.$.id;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Number with 4 digits e.g: 0001
|
|
23
|
+
*/
|
|
24
|
+
if (match.includes('Number%04d')) {
|
|
25
|
+
return segmentId.toString().padStart(4, '0');
|
|
26
|
+
}
|
|
27
|
+
if (match.includes('Number')) {
|
|
28
|
+
return segmentId;
|
|
29
|
+
}
|
|
30
|
+
console.error(`Unknown property ${match} from the SegmentTemplate on representation ${representation.$.id}`);
|
|
31
|
+
return match;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=getUrlFromTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUrlFromTemplate.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CACjC,cAA8B,EAC9B,eAAgC,EAChC,SAAiB;IAEjB,MAAM,aAAa,GAAG,YAAY,CAAC;IACnC,OAAO,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE;QACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC;QACD;;WAEG;QACH,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,KAAK,CACZ,oBAAoB,KAAK,+CAA+C,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7F,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { Representation } from '../../../../types/mapper/dash/Representation.js';\nimport type { SegmentTemplate } from '../../../../types/mapper/dash/SegmentTemplate.js';\n\n/**\n * @internal\n *\n * Create the url from a segment template.\n *\n * Searches for substrings with the format `$value$` and replaces it with the correct value.\n * - RepresentationID: id of the representation\n * - Number: id of the segment. `%0Xd` defines the number `X` of digits it needs to have\n *\n * @param representation - Representation of the template\n * @param segmentTemplate - Segment template\n * @param segmentId - Segment id\n * @returns url from the segment template\n */\nexport function getUrlFromTemplate(\n\trepresentation: Representation,\n\tsegmentTemplate: SegmentTemplate,\n\tsegmentId: number,\n): string {\n\tconst regexTemplate = /\\$(.*?)\\$/g;\n\treturn segmentTemplate.$.media.replace(regexTemplate, (match: any) => {\n\t\tif (match.includes('RepresentationID')) {\n\t\t\treturn representation.$.id;\n\t\t}\n\t\t/**\n\t\t * Number with 4 digits e.g: 0001\n\t\t */\n\t\tif (match.includes('Number%04d')) {\n\t\t\treturn segmentId.toString().padStart(4, '0');\n\t\t}\n\t\tif (match.includes('Number')) {\n\t\t\treturn segmentId;\n\t\t}\n\t\tconsole.error(\n\t\t\t`Unknown property ${match} from the SegmentTemplate on representation ${representation.$.id}`,\n\t\t);\n\t\treturn match;\n\t});\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapHamToDash.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/mapHamToDash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AASzE,wBAAgB,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAcjE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { presentationsToPeriods } from './presentationsToPeriods.js';
|
|
2
|
+
import { serializeDashManifest } from '../../../utils/dash/serializeDashManifest.js';
|
|
3
|
+
export function mapHamToDash(hamManifests) {
|
|
4
|
+
const periods = presentationsToPeriods(hamManifests);
|
|
5
|
+
const duration = periods[0].$.duration;
|
|
6
|
+
const manifest = {
|
|
7
|
+
MPD: {
|
|
8
|
+
$: {
|
|
9
|
+
mediaPresentationDuration: duration,
|
|
10
|
+
type: 'static',
|
|
11
|
+
},
|
|
12
|
+
Period: periods,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
return serializeDashManifest(manifest);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=mapHamToDash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapHamToDash.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/mapHamToDash.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,MAAM,UAAU,YAAY,CAAC,YAA4B;IACxD,MAAM,OAAO,GAAa,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,MAAM,QAAQ,GAAiB;QAC9B,GAAG,EAAE;YACJ,CAAC,EAAE;gBACF,yBAAyB,EAAE,QAAQ;gBACnC,IAAI,EAAE,QAAQ;aACd;YACD,MAAM,EAAE,OAAO;SACf;KACD,CAAC;IAEF,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC","sourcesContent":["import type { Presentation } from '../../../types/model/Presentation.js';\n\nimport type { DashManifest } from '../../../types/mapper/dash/DashManifest.js';\nimport type { Period } from '../../../types/mapper/dash/Period.js';\n\nimport { presentationsToPeriods } from './presentationsToPeriods.js';\n\nimport { serializeDashManifest } from '../../../utils/dash/serializeDashManifest.js';\n\nexport function mapHamToDash(hamManifests: Presentation[]): string {\n\tconst periods: Period[] = presentationsToPeriods(hamManifests);\n\tconst duration: string = periods[0].$.duration;\n\tconst manifest: DashManifest = {\n\t\tMPD: {\n\t\t\t$: {\n\t\t\t\tmediaPresentationDuration: duration,\n\t\t\t\ttype: 'static',\n\t\t\t},\n\t\t\tPeriod: periods,\n\t\t},\n\t};\n\n\treturn serializeDashManifest(manifest);\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Period } from '../../../types/mapper/dash/Period.js';
|
|
2
|
+
import type { Presentation } from '../../../types/model/Presentation.js';
|
|
3
|
+
export declare function presentationsToPeriods(presentations: Presentation[]): Period[];
|
|
4
|
+
//# sourceMappingURL=presentationsToPeriods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentationsToPeriods.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/presentationsToPeriods.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAMzE,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAgB9E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { selectionSetsToAdaptationSet } from './selectionSetsToAdaptationSet.js';
|
|
2
|
+
import { numberToIso8601Duration } from '../../../utils/dash/numberToIso8601Duration.js';
|
|
3
|
+
export function presentationsToPeriods(presentations) {
|
|
4
|
+
return presentations.map((presentation) => {
|
|
5
|
+
return {
|
|
6
|
+
$: {
|
|
7
|
+
duration: numberToIso8601Duration(presentation.selectionSets[0].switchingSets[0].tracks[0]
|
|
8
|
+
.duration),
|
|
9
|
+
id: presentation.id,
|
|
10
|
+
start: 'PT0S',
|
|
11
|
+
},
|
|
12
|
+
AdaptationSet: selectionSetsToAdaptationSet(presentation.selectionSets),
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=presentationsToPeriods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentationsToPeriods.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/presentationsToPeriods.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,MAAM,UAAU,sBAAsB,CAAC,aAA6B;IACnE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,YAA0B,EAAE,EAAE;QACvD,OAAO;YACN,CAAC,EAAE;gBACF,QAAQ,EAAE,uBAAuB,CAChC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;qBACtD,QAAQ,CACV;gBACD,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,KAAK,EAAE,MAAM;aACb;YACD,aAAa,EAAE,4BAA4B,CAC1C,YAAY,CAAC,aAAa,CAC1B;SACS,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["\nimport type { Period } from '../../../types/mapper/dash/Period.js';\nimport type { Presentation } from '../../../types/model/Presentation.js';\n\nimport { selectionSetsToAdaptationSet } from './selectionSetsToAdaptationSet.js';\n\nimport { numberToIso8601Duration } from '../../../utils/dash/numberToIso8601Duration.js';\n\nexport function presentationsToPeriods(presentations: Presentation[]): Period[] {\n\treturn presentations.map((presentation: Presentation) => {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tduration: numberToIso8601Duration(\n\t\t\t\t\tpresentation.selectionSets[0].switchingSets[0].tracks[0]\n\t\t\t\t\t\t.duration,\n\t\t\t\t),\n\t\t\t\tid: presentation.id,\n\t\t\t\tstart: 'PT0S',\n\t\t\t},\n\t\t\tAdaptationSet: selectionSetsToAdaptationSet(\n\t\t\t\tpresentation.selectionSets,\n\t\t\t),\n\t\t} as Period;\n\t});\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SelectionSet } from '../../../types/model/SelectionSet.js';
|
|
2
|
+
import type { AdaptationSet } from '../../../types/mapper/dash/AdaptationSet.js';
|
|
3
|
+
export declare function selectionSetsToAdaptationSet(selectionsSets: SelectionSet[]): AdaptationSet[];
|
|
4
|
+
//# sourceMappingURL=selectionSetsToAdaptationSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionSetsToAdaptationSet.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAMjF,wBAAgB,4BAA4B,CAC3C,cAAc,EAAE,YAAY,EAAE,GAC5B,aAAa,EAAE,CAkBjB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { tracksToRepresentation } from './tracksToRepresentation.js';
|
|
2
|
+
import { getFrameRate } from './utils/getFrameRate.js';
|
|
3
|
+
export function selectionSetsToAdaptationSet(selectionsSets) {
|
|
4
|
+
return selectionsSets.flatMap((selectionSet) => {
|
|
5
|
+
return selectionSet.switchingSets.map((switchingSet) => {
|
|
6
|
+
const track = switchingSet.tracks[0];
|
|
7
|
+
return {
|
|
8
|
+
$: {
|
|
9
|
+
id: switchingSet.id,
|
|
10
|
+
group: selectionSet.id,
|
|
11
|
+
contentType: track === null || track === void 0 ? void 0 : track.type,
|
|
12
|
+
mimeType: `${track === null || track === void 0 ? void 0 : track.type}/mp4`,
|
|
13
|
+
frameRate: getFrameRate(track),
|
|
14
|
+
lang: track === null || track === void 0 ? void 0 : track.language,
|
|
15
|
+
codecs: track === null || track === void 0 ? void 0 : track.codec,
|
|
16
|
+
},
|
|
17
|
+
Representation: tracksToRepresentation(switchingSet.tracks),
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=selectionSetsToAdaptationSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionSetsToAdaptationSet.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,UAAU,4BAA4B,CAC3C,cAA8B;IAE9B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAC9C,OAAO,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO;gBACN,CAAC,EAAE;oBACF,EAAE,EAAE,YAAY,CAAC,EAAE;oBACnB,KAAK,EAAE,YAAY,CAAC,EAAE;oBACtB,WAAW,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI;oBACxB,QAAQ,EAAE,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAM;oBAC9B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC;oBAC9B,IAAI,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ;oBACrB,MAAM,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK;iBACpB;gBACD,cAAc,EAAE,sBAAsB,CAAC,YAAY,CAAC,MAAM,CAAC;aAC1C,CAAC;QACpB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["\nimport type { SelectionSet } from '../../../types/model/SelectionSet.js';\n\nimport type { AdaptationSet } from '../../../types/mapper/dash/AdaptationSet.js';\n\nimport { tracksToRepresentation } from './tracksToRepresentation.js';\n\nimport { getFrameRate } from './utils/getFrameRate.js';\n\nexport function selectionSetsToAdaptationSet(\n\tselectionsSets: SelectionSet[],\n): AdaptationSet[] {\n\treturn selectionsSets.flatMap((selectionSet) => {\n\t\treturn selectionSet.switchingSets.map((switchingSet) => {\n\t\t\tconst track = switchingSet.tracks[0];\n\t\t\treturn {\n\t\t\t\t$: {\n\t\t\t\t\tid: switchingSet.id,\n\t\t\t\t\tgroup: selectionSet.id,\n\t\t\t\t\tcontentType: track?.type,\n\t\t\t\t\tmimeType: `${track?.type}/mp4`,\n\t\t\t\t\tframeRate: getFrameRate(track),\n\t\t\t\t\tlang: track?.language,\n\t\t\t\t\tcodecs: track?.codec,\n\t\t\t\t},\n\t\t\t\tRepresentation: tracksToRepresentation(switchingSet.tracks),\n\t\t\t} as AdaptationSet;\n\t\t});\n\t});\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackToSegmentBase.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/trackToSegmentBase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,CA4D9D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export function trackToSegmentBase(track) {
|
|
2
|
+
var _a;
|
|
3
|
+
const segments = [];
|
|
4
|
+
if (track.segments.length > 0 &&
|
|
5
|
+
track.byteRange &&
|
|
6
|
+
track.segments[0].byteRange &&
|
|
7
|
+
track.segments[0].byteRange.includes('@')) {
|
|
8
|
+
let firstSegment = undefined;
|
|
9
|
+
const initByteRange = track.byteRange.includes('-')
|
|
10
|
+
? track.byteRange.split('-')[1]
|
|
11
|
+
: track.byteRange.includes('@')
|
|
12
|
+
? track.byteRange.split('@')[0]
|
|
13
|
+
: '';
|
|
14
|
+
const initRange = +initByteRange - 1;
|
|
15
|
+
const byteFirstSegment = track.segments[0].byteRange.includes('-')
|
|
16
|
+
? track.segments[0].byteRange.split('-')[1]
|
|
17
|
+
: track.segments[0].byteRange.includes('@')
|
|
18
|
+
? track.segments[0].byteRange.split('@')[1]
|
|
19
|
+
: '';
|
|
20
|
+
const numberFirstByteRange = +byteFirstSegment - 1;
|
|
21
|
+
firstSegment = {
|
|
22
|
+
$: {
|
|
23
|
+
indexRange: `${initByteRange}-${numberFirstByteRange}`,
|
|
24
|
+
},
|
|
25
|
+
Initialization: [{ $: { range: `0-${initRange}` } }],
|
|
26
|
+
};
|
|
27
|
+
if (firstSegment && track.type === 'audio') {
|
|
28
|
+
// All segments should have timescale, but for now, just the audio ones store this value
|
|
29
|
+
const audioTrack = track;
|
|
30
|
+
firstSegment.$.timescale = (_a = audioTrack.sampleRate.toString()) !== null && _a !== void 0 ? _a : '';
|
|
31
|
+
}
|
|
32
|
+
if (firstSegment) {
|
|
33
|
+
segments.push(firstSegment);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
track.segments.forEach((segment) => {
|
|
38
|
+
var _a;
|
|
39
|
+
let newSegment;
|
|
40
|
+
if (segment.byteRange) {
|
|
41
|
+
const initRange = +segment.byteRange.split('-')[0] - 1;
|
|
42
|
+
newSegment = {
|
|
43
|
+
$: {
|
|
44
|
+
indexRange: segment.byteRange,
|
|
45
|
+
},
|
|
46
|
+
Initialization: [{ $: { range: `0-${initRange}` } }],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (newSegment && track.type === 'audio') {
|
|
50
|
+
// All segments should have timescale, but for now, just the audio ones store this value
|
|
51
|
+
const audioTrack = track;
|
|
52
|
+
newSegment.$.timescale = (_a = audioTrack.sampleRate.toString()) !== null && _a !== void 0 ? _a : '';
|
|
53
|
+
}
|
|
54
|
+
if (newSegment) {
|
|
55
|
+
segments.push(newSegment);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return segments;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=trackToSegmentBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackToSegmentBase.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/trackToSegmentBase.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,kBAAkB,CAAC,KAAY;;IAC9C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IACC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACzB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxC,CAAC;QACF,IAAI,YAAY,GAA4B,SAAS,CAAC;QACtD,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YAClD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC9B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAW,CAAC,aAAa,GAAG,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,oBAAoB,GAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC3D,YAAY,GAAG;YACd,CAAC,EAAE;gBACF,UAAU,EAAE,GAAG,aAAa,IAAI,oBAAoB,EAAE;aACtD;YACD,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,EAAE,EAAE,CAAC;SACrC,CAAC;QACjB,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5C,wFAAwF;YACxF,MAAM,UAAU,GAAG,KAAmB,CAAC;YACvC,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,MAAA,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;SACI,CAAC;QACL,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;;YAC3C,IAAI,UAAmC,CAAC;YACxC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAW,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/D,UAAU,GAAG;oBACZ,CAAC,EAAE;wBACF,UAAU,EAAE,OAAO,CAAC,SAAS;qBAC7B;oBACD,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,EAAE,EAAE,CAAC;iBACrC,CAAC;YAClB,CAAC;YACD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1C,wFAAwF;gBACxF,MAAM,UAAU,GAAG,KAAmB,CAAC;gBACvC,UAAU,CAAC,CAAC,CAAC,SAAS,GAAG,MAAA,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC;YACjE,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC","sourcesContent":["\nimport type { AudioTrack } from '../../../types/model/AudioTrack.js';\nimport type { Segment } from '../../../types/model/Segment.js';\nimport type { Track } from '../../../types/model/Track.js';\n\nimport type { SegmentBase } from '../../../types/mapper/dash/SegmentBase.js';\n\nexport function trackToSegmentBase(track: Track): SegmentBase[] {\n\tconst segments: SegmentBase[] = [];\n\tif (\n\t\ttrack.segments.length > 0 &&\n\t\ttrack.byteRange &&\n\t\ttrack.segments[0].byteRange &&\n\t\ttrack.segments[0].byteRange.includes('@')\n\t) {\n\t\tlet firstSegment: SegmentBase | undefined = undefined;\n\t\tconst initByteRange = track.byteRange.includes('-')\n\t\t\t? track.byteRange.split('-')[1]\n\t\t\t: track.byteRange.includes('@')\n\t\t\t\t? track.byteRange.split('@')[0]\n\t\t\t\t: '';\n\t\tconst initRange: number = +initByteRange - 1;\n\t\tconst byteFirstSegment = track.segments[0].byteRange.includes('-')\n\t\t\t? track.segments[0].byteRange.split('-')[1]\n\t\t\t: track.segments[0].byteRange.includes('@')\n\t\t\t\t? track.segments[0].byteRange.split('@')[1]\n\t\t\t\t: '';\n\t\tconst numberFirstByteRange: number = +byteFirstSegment - 1;\n\t\tfirstSegment = {\n\t\t\t$: {\n\t\t\t\tindexRange: `${initByteRange}-${numberFirstByteRange}`,\n\t\t\t},\n\t\t\tInitialization: [{ $: { range: `0-${initRange}` } }],\n\t\t} as SegmentBase;\n\t\tif (firstSegment && track.type === 'audio') {\n\t\t\t// All segments should have timescale, but for now, just the audio ones store this value\n\t\t\tconst audioTrack = track as AudioTrack;\n\t\t\tfirstSegment.$.timescale = audioTrack.sampleRate.toString() ?? '';\n\t\t}\n\t\tif (firstSegment) {\n\t\t\tsegments.push(firstSegment);\n\t\t}\n\t}\n\telse {\n\t\ttrack.segments.forEach((segment: Segment) => {\n\t\t\tlet newSegment: SegmentBase | undefined;\n\t\t\tif (segment.byteRange) {\n\t\t\t\tconst initRange: number = +segment.byteRange.split('-')[0] - 1;\n\t\t\t\tnewSegment = {\n\t\t\t\t\t$: {\n\t\t\t\t\t\tindexRange: segment.byteRange,\n\t\t\t\t\t},\n\t\t\t\t\tInitialization: [{ $: { range: `0-${initRange}` } }],\n\t\t\t\t} as SegmentBase;\n\t\t\t}\n\t\t\tif (newSegment && track.type === 'audio') {\n\t\t\t\t// All segments should have timescale, but for now, just the audio ones store this value\n\t\t\t\tconst audioTrack = track as AudioTrack;\n\t\t\t\tnewSegment.$.timescale = audioTrack.sampleRate.toString() ?? '';\n\t\t\t}\n\t\t\tif (newSegment) {\n\t\t\t\tsegments.push(newSegment);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn segments;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackToSegmentList.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/trackToSegmentList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAK7E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,CA0B9D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getTimescale } from './utils/getTimescale.js';
|
|
2
|
+
export function trackToSegmentList(track) {
|
|
3
|
+
var _a;
|
|
4
|
+
const segmentList = [];
|
|
5
|
+
const segmentURLs = [];
|
|
6
|
+
track.segments.forEach((segment) => {
|
|
7
|
+
segmentURLs.push({
|
|
8
|
+
$: {
|
|
9
|
+
media: segment.url,
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
if (!((_a = track.segments.at(0)) === null || _a === void 0 ? void 0 : _a.byteRange)) {
|
|
14
|
+
const timescale = getTimescale(track);
|
|
15
|
+
segmentList.push({
|
|
16
|
+
$: {
|
|
17
|
+
duration: ((track.duration * timescale) /
|
|
18
|
+
segmentURLs.length).toString(),
|
|
19
|
+
timescale: timescale.toString(),
|
|
20
|
+
},
|
|
21
|
+
Initialization: [{ $: { sourceURL: track.urlInitialization } }],
|
|
22
|
+
SegmentURL: segmentURLs,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return segmentList;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=trackToSegmentList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackToSegmentList.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/trackToSegmentList.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,UAAU,kBAAkB,CAAC,KAAY;;IAC9C,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAClC,WAAW,CAAC,IAAI,CAAC;YAChB,CAAC,EAAE;gBACF,KAAK,EAAE,OAAO,CAAC,GAAG;aAClB;SACD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,SAAS,CAAA,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC;YAChB,CAAC,EAAE;gBACF,QAAQ,EAAE,CACT,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC5B,WAAW,CAAC,MAAM,CAClB,CAAC,QAAQ,EAAE;gBACZ,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;aAC/B;YACD,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAC/D,UAAU,EAAE,WAAW;SACR,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC","sourcesContent":["import type { Track } from '../../../types/model/Track.js';\n\nimport type { SegmentList } from '../../../types/mapper/dash/SegmentList.js';\nimport type { SegmentURL } from '../../../types/mapper/dash/SegmentUrl.js';\n\nimport { getTimescale } from './utils/getTimescale.js';\n\nexport function trackToSegmentList(track: Track): SegmentList[] {\n\tconst segmentList: SegmentList[] = [];\n\tconst segmentURLs: SegmentURL[] = [];\n\ttrack.segments.forEach((segment) => {\n\t\tsegmentURLs.push({\n\t\t\t$: {\n\t\t\t\tmedia: segment.url,\n\t\t\t},\n\t\t});\n\t});\n\n\tif (!track.segments.at(0)?.byteRange) {\n\t\tconst timescale = getTimescale(track);\n\t\tsegmentList.push({\n\t\t\t$: {\n\t\t\t\tduration: (\n\t\t\t\t\t(track.duration * timescale) /\n\t\t\t\t\tsegmentURLs.length\n\t\t\t\t).toString(),\n\t\t\t\ttimescale: timescale.toString(),\n\t\t\t},\n\t\t\tInitialization: [{ $: { sourceURL: track.urlInitialization } }],\n\t\t\tSegmentURL: segmentURLs,\n\t\t} as SegmentList);\n\t}\n\treturn segmentList;\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Representation } from '../../../types/mapper/dash/Representation.js';
|
|
2
|
+
import type { Track } from '../../../types/model/Track.js';
|
|
3
|
+
export declare function tracksToRepresentation(tracks: Track[]): Representation[];
|
|
4
|
+
//# sourceMappingURL=tracksToRepresentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracksToRepresentation.d.ts","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/tracksToRepresentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAGnF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAQ3D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CA+CxE"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { trackToSegmentBase } from './trackToSegmentBase.js';
|
|
2
|
+
import { trackToSegmentList } from './trackToSegmentList.js';
|
|
3
|
+
import { getFrameRate } from './utils/getFrameRate.js';
|
|
4
|
+
export function tracksToRepresentation(tracks) {
|
|
5
|
+
return tracks.map((track) => {
|
|
6
|
+
var _a, _b;
|
|
7
|
+
const representation = {
|
|
8
|
+
$: {
|
|
9
|
+
id: track.id,
|
|
10
|
+
bandwidth: track.bandwidth.toString(),
|
|
11
|
+
},
|
|
12
|
+
SegmentBase: trackToSegmentBase(track),
|
|
13
|
+
SegmentList: trackToSegmentList(track),
|
|
14
|
+
};
|
|
15
|
+
representation.$.mimeType = `${track.type}/mp4`; //Harcoded value
|
|
16
|
+
if (track.type === 'video') {
|
|
17
|
+
const videoTrack = track;
|
|
18
|
+
representation.$ = {
|
|
19
|
+
...representation.$,
|
|
20
|
+
frameRate: getFrameRate(track),
|
|
21
|
+
width: videoTrack.width.toString(),
|
|
22
|
+
height: videoTrack.height.toString(),
|
|
23
|
+
codecs: videoTrack.codec,
|
|
24
|
+
};
|
|
25
|
+
if (videoTrack.scanType) {
|
|
26
|
+
representation.$.scanType = videoTrack.scanType;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (track.type === 'audio') {
|
|
30
|
+
const audioTrack = track;
|
|
31
|
+
representation.$ = {
|
|
32
|
+
...representation.$,
|
|
33
|
+
audioSamplingRate: audioTrack.sampleRate.toString(),
|
|
34
|
+
codecs: audioTrack.codec,
|
|
35
|
+
};
|
|
36
|
+
representation.AudioChannelConfiguration = [
|
|
37
|
+
{
|
|
38
|
+
$: {
|
|
39
|
+
schemeIdUri: 'urn:mpeg:dash:23003:3:audio_channel_configuration:2011', // hardcoded value
|
|
40
|
+
value: (_a = audioTrack.channels.toString()) !== null && _a !== void 0 ? _a : '',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
if ((_b = track.segments[0]) === null || _b === void 0 ? void 0 : _b.byteRange) {
|
|
46
|
+
// Only BaseSegments have byteRange on segments, and BaseURL on the representation
|
|
47
|
+
representation.BaseURL = [track.segments[0].url];
|
|
48
|
+
}
|
|
49
|
+
return representation;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=tracksToRepresentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracksToRepresentation.js","sourceRoot":"","sources":["../../../../src/mapper/dash/mapHamToDash/tracksToRepresentation.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;QAC3B,MAAM,cAAc,GAAmB;YACtC,CAAC,EAAE;gBACF,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;aACrC;YACD,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACtC,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;SACpB,CAAC;QACpB,cAAc,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,gBAAgB;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,KAAmB,CAAC;YACvC,cAAc,CAAC,CAAC,GAAG;gBAClB,GAAG,cAAc,CAAC,CAAC;gBACnB,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC;gBAC9B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAClC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpC,MAAM,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzB,cAAc,CAAC,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACjD,CAAC;QACF,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,KAAmB,CAAC;YACvC,cAAc,CAAC,CAAC,GAAG;gBAClB,GAAG,cAAc,CAAC,CAAC;gBACnB,iBAAiB,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACnD,MAAM,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC;YACF,cAAc,CAAC,yBAAyB,GAAG;gBAC1C;oBACC,CAAC,EAAE;wBACF,WAAW,EACV,wDAAwD,EAAE,kBAAkB;wBAC7E,KAAK,EAAE,MAAA,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,mCAAI,EAAE;qBAC3C;iBAC4B;aAC9B,CAAC;QACH,CAAC;QACD,IAAI,MAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,SAAS,EAAE,CAAC;YAClC,kFAAkF;YAClF,cAAc,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,cAAc,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["\nimport type { AudioChannelConfiguration } from '../../../types/mapper/dash/AudioChannelConfiguration.js';\nimport type { Representation } from '../../../types/mapper/dash/Representation.js';\n\nimport type { AudioTrack } from '../../../types/model/AudioTrack.js';\nimport type { Track } from '../../../types/model/Track.js';\nimport type { VideoTrack } from '../../../types/model/VideoTrack.js';\n\nimport { trackToSegmentBase } from './trackToSegmentBase.js';\nimport { trackToSegmentList } from './trackToSegmentList.js';\n\nimport { getFrameRate } from './utils/getFrameRate.js';\n\nexport function tracksToRepresentation(tracks: Track[]): Representation[] {\n\treturn tracks.map((track) => {\n\t\tconst representation: Representation = {\n\t\t\t$: {\n\t\t\t\tid: track.id,\n\t\t\t\tbandwidth: track.bandwidth.toString(),\n\t\t\t},\n\t\t\tSegmentBase: trackToSegmentBase(track),\n\t\t\tSegmentList: trackToSegmentList(track),\n\t\t} as Representation;\n\t\trepresentation.$.mimeType = `${track.type}/mp4`; //Harcoded value\n\t\tif (track.type === 'video') {\n\t\t\tconst videoTrack = track as VideoTrack;\n\t\t\trepresentation.$ = {\n\t\t\t\t...representation.$,\n\t\t\t\tframeRate: getFrameRate(track),\n\t\t\t\twidth: videoTrack.width.toString(),\n\t\t\t\theight: videoTrack.height.toString(),\n\t\t\t\tcodecs: videoTrack.codec,\n\t\t\t};\n\t\t\tif (videoTrack.scanType) {\n\t\t\t\trepresentation.$.scanType = videoTrack.scanType;\n\t\t\t}\n\t\t}\n\t\tif (track.type === 'audio') {\n\t\t\tconst audioTrack = track as AudioTrack;\n\t\t\trepresentation.$ = {\n\t\t\t\t...representation.$,\n\t\t\t\taudioSamplingRate: audioTrack.sampleRate.toString(),\n\t\t\t\tcodecs: audioTrack.codec,\n\t\t\t};\n\t\t\trepresentation.AudioChannelConfiguration = [\n\t\t\t\t{\n\t\t\t\t\t$: {\n\t\t\t\t\t\tschemeIdUri:\n\t\t\t\t\t\t\t'urn:mpeg:dash:23003:3:audio_channel_configuration:2011', // hardcoded value\n\t\t\t\t\t\tvalue: audioTrack.channels.toString() ?? '',\n\t\t\t\t\t},\n\t\t\t\t} as AudioChannelConfiguration,\n\t\t\t];\n\t\t}\n\t\tif (track.segments[0]?.byteRange) {\n\t\t\t// Only BaseSegments have byteRange on segments, and BaseURL on the representation\n\t\t\trepresentation.BaseURL = [track.segments[0].url];\n\t\t}\n\t\treturn representation;\n\t});\n}\n"]}
|