@svta/cml-cmaf-ham 0.19.0 → 0.20.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/README.md +6 -0
- package/dist/index.d.ts +1273 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1822 -19
- package/dist/index.js.map +1 -1
- package/package.json +6 -26
- package/dist/mapper/Mapper.d.ts +0 -8
- package/dist/mapper/Mapper.d.ts.map +0 -1
- package/dist/mapper/Mapper.js +0 -2
- package/dist/mapper/Mapper.js.map +0 -1
- package/dist/mapper/MapperContext.d.ts +0 -14
- package/dist/mapper/MapperContext.d.ts.map +0 -1
- package/dist/mapper/MapperContext.js +0 -22
- package/dist/mapper/MapperContext.js.map +0 -1
- package/dist/mapper/dash/DashMapper.d.ts +0 -10
- package/dist/mapper/dash/DashMapper.d.ts.map +0 -1
- package/dist/mapper/dash/DashMapper.js +0 -23
- package/dist/mapper/dash/DashMapper.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts +0 -12
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.js +0 -42
- package/dist/mapper/dash/mapDashToHam/mapDashToHam.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js +0 -20
- package/dist/mapper/dash/mapDashToHam/mapSegmentBase.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts +0 -12
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.js +0 -25
- package/dist/mapper/dash/mapDashToHam/mapSegmentList.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts +0 -15
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js +0 -27
- package/dist/mapper/dash/mapDashToHam/mapSegmentTemplate.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts +0 -20
- package/dist/mapper/dash/mapDashToHam/mapSegments.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapSegments.js +0 -37
- package/dist/mapper/dash/mapDashToHam/mapSegments.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts +0 -19
- package/dist/mapper/dash/mapDashToHam/mapTracks.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/mapTracks.js +0 -72
- package/dist/mapper/dash/mapDashToHam/mapTracks.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/calculateDuration.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.js +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/getChannels.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.js +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/getCodec.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts +0 -14
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.js +0 -37
- package/dist/mapper/dash/mapDashToHam/utils/getContentType.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts +0 -16
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js +0 -31
- package/dist/mapper/dash/mapDashToHam/utils/getFrameRate.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts +0 -3
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.js +0 -6
- package/dist/mapper/dash/mapDashToHam/utils/getGroup.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts +0 -14
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js +0 -32
- package/dist/mapper/dash/mapDashToHam/utils/getInitializationUrl.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts +0 -11
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js +0 -17
- package/dist/mapper/dash/mapDashToHam/utils/getLanguage.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts +0 -17
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js +0 -21
- package/dist/mapper/dash/mapDashToHam/utils/getNumberOfSegments.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js +0 -15
- package/dist/mapper/dash/mapDashToHam/utils/getPresentationId.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/getSampleRate.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts +0 -13
- package/dist/mapper/dash/mapDashToHam/utils/getSar.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getSar.js +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/getSar.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts +0 -16
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js +0 -19
- package/dist/mapper/dash/mapDashToHam/utils/getTrackDuration.js.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts +0 -18
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.d.ts.map +0 -1
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js +0 -34
- package/dist/mapper/dash/mapDashToHam/utils/getUrlFromTemplate.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts +0 -3
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.js +0 -17
- package/dist/mapper/dash/mapHamToDash/mapHamToDash.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts +0 -4
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js +0 -16
- package/dist/mapper/dash/mapHamToDash/presentationsToPeriods.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts +0 -4
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js +0 -22
- package/dist/mapper/dash/mapHamToDash/selectionSetsToAdaptationSet.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts +0 -4
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js +0 -61
- package/dist/mapper/dash/mapHamToDash/trackToSegmentBase.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts +0 -4
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js +0 -27
- package/dist/mapper/dash/mapHamToDash/trackToSegmentList.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts +0 -4
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js +0 -52
- package/dist/mapper/dash/mapHamToDash/tracksToRepresentation.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts +0 -13
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js +0 -25
- package/dist/mapper/dash/mapHamToDash/utils/getFrameRate.js.map +0 -1
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts +0 -16
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.d.ts.map +0 -1
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js +0 -30
- package/dist/mapper/dash/mapHamToDash/utils/getTimescale.js.map +0 -1
- package/dist/mapper/hls/HlsMapper.d.ts +0 -10
- package/dist/mapper/hls/HlsMapper.d.ts.map +0 -1
- package/dist/mapper/hls/HlsMapper.js +0 -17
- package/dist/mapper/hls/HlsMapper.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts +0 -8
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js +0 -26
- package/dist/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts +0 -4
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.js +0 -29
- package/dist/mapper/hls/mapHamToHls/mapHamToHls.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts +0 -14
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.js +0 -22
- package/dist/mapper/hls/mapHamToHls/utils/getByterange.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts +0 -14
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js +0 -16
- package/dist/mapper/hls/mapHamToHls/utils/getPlaylistData.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts +0 -13
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.js +0 -23
- package/dist/mapper/hls/mapHamToHls/utils/getSegments.js.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts +0 -14
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.d.ts.map +0 -1
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js +0 -16
- package/dist/mapper/hls/mapHamToHls/utils/getUrlInitialization.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts +0 -16
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js +0 -55
- package/dist/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts +0 -4
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js +0 -41
- package/dist/mapper/hls/mapHlsToHam/mapHlsToHam.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts +0 -4
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js +0 -35
- package/dist/mapper/hls/mapHlsToHam/subtitleGroupsToSwitchingSets.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts +0 -14
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js +0 -23
- package/dist/mapper/hls/mapHlsToHam/utils/formatSegments.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts +0 -13
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js +0 -17
- package/dist/mapper/hls/mapHlsToHam/utils/getByterange.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts +0 -13
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js +0 -31
- package/dist/mapper/hls/mapHlsToHam/utils/getCodec.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts +0 -17
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js +0 -21
- package/dist/mapper/hls/mapHlsToHam/utils/getDuration.js.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts +0 -5
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.d.ts.map +0 -1
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js +0 -46
- package/dist/mapper/hls/mapHlsToHam/videoPlaylistsToSwitchingSets.js.map +0 -1
- package/dist/services/converters/dashToHam.d.ts +0 -20
- package/dist/services/converters/dashToHam.d.ts.map +0 -1
- package/dist/services/converters/dashToHam.js +0 -25
- package/dist/services/converters/dashToHam.js.map +0 -1
- package/dist/services/converters/hamToDash.d.ts +0 -21
- package/dist/services/converters/hamToDash.d.ts.map +0 -1
- package/dist/services/converters/hamToDash.js +0 -25
- package/dist/services/converters/hamToDash.js.map +0 -1
- package/dist/services/converters/hamToHls.d.ts +0 -21
- package/dist/services/converters/hamToHls.d.ts.map +0 -1
- package/dist/services/converters/hamToHls.js +0 -25
- package/dist/services/converters/hamToHls.js.map +0 -1
- package/dist/services/converters/hlsToHam.d.ts +0 -21
- package/dist/services/converters/hlsToHam.d.ts.map +0 -1
- package/dist/services/converters/hlsToHam.js +0 -33
- package/dist/services/converters/hlsToHam.js.map +0 -1
- package/dist/services/getters/getTracksFromPresentation.d.ts +0 -13
- package/dist/services/getters/getTracksFromPresentation.d.ts.map +0 -1
- package/dist/services/getters/getTracksFromPresentation.js +0 -15
- package/dist/services/getters/getTracksFromPresentation.js.map +0 -1
- package/dist/services/getters/getTracksFromSelectionSet.d.ts +0 -13
- package/dist/services/getters/getTracksFromSelectionSet.d.ts.map +0 -1
- package/dist/services/getters/getTracksFromSelectionSet.js +0 -15
- package/dist/services/getters/getTracksFromSelectionSet.js.map +0 -1
- package/dist/services/getters/getTracksFromSwitchingSet.d.ts +0 -13
- package/dist/services/getters/getTracksFromSwitchingSet.d.ts.map +0 -1
- package/dist/services/getters/getTracksFromSwitchingSet.js +0 -14
- package/dist/services/getters/getTracksFromSwitchingSet.js.map +0 -1
- package/dist/services/validators/validatePresentation.d.ts +0 -29
- package/dist/services/validators/validatePresentation.d.ts.map +0 -1
- package/dist/services/validators/validatePresentation.js +0 -36
- package/dist/services/validators/validatePresentation.js.map +0 -1
- package/dist/services/validators/validateSegment.d.ts +0 -18
- package/dist/services/validators/validateSegment.d.ts.map +0 -1
- package/dist/services/validators/validateSegment.js +0 -33
- package/dist/services/validators/validateSegment.js.map +0 -1
- package/dist/services/validators/validateSegments.d.ts +0 -27
- package/dist/services/validators/validateSegments.d.ts.map +0 -1
- package/dist/services/validators/validateSegments.js +0 -35
- package/dist/services/validators/validateSegments.js.map +0 -1
- package/dist/services/validators/validateSelectionSet.d.ts +0 -31
- package/dist/services/validators/validateSelectionSet.d.ts.map +0 -1
- package/dist/services/validators/validateSelectionSet.js +0 -44
- package/dist/services/validators/validateSelectionSet.js.map +0 -1
- package/dist/services/validators/validateSelectionSets.d.ts +0 -28
- package/dist/services/validators/validateSelectionSets.d.ts.map +0 -1
- package/dist/services/validators/validateSelectionSets.js +0 -36
- package/dist/services/validators/validateSelectionSets.js.map +0 -1
- package/dist/services/validators/validateSwitchingSet.d.ts +0 -31
- package/dist/services/validators/validateSwitchingSet.d.ts.map +0 -1
- package/dist/services/validators/validateSwitchingSet.js +0 -44
- package/dist/services/validators/validateSwitchingSet.js.map +0 -1
- package/dist/services/validators/validateSwitchingSets.d.ts +0 -28
- package/dist/services/validators/validateSwitchingSets.d.ts.map +0 -1
- package/dist/services/validators/validateSwitchingSets.js +0 -36
- package/dist/services/validators/validateSwitchingSets.js.map +0 -1
- package/dist/services/validators/validateTrack.d.ts +0 -32
- package/dist/services/validators/validateTrack.d.ts.map +0 -1
- package/dist/services/validators/validateTrack.js +0 -140
- package/dist/services/validators/validateTrack.js.map +0 -1
- package/dist/services/validators/validateTracks.d.ts +0 -28
- package/dist/services/validators/validateTracks.d.ts.map +0 -1
- package/dist/services/validators/validateTracks.js +0 -47
- package/dist/services/validators/validateTracks.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/Validation.d.ts +0 -10
- package/dist/types/Validation.d.ts.map +0 -1
- package/dist/types/Validation.js +0 -2
- package/dist/types/Validation.js.map +0 -1
- package/dist/types/manifest/Manifest.d.ts +0 -14
- package/dist/types/manifest/Manifest.d.ts.map +0 -1
- package/dist/types/manifest/Manifest.js +0 -2
- package/dist/types/manifest/Manifest.js.map +0 -1
- package/dist/types/manifest/ManifestFormat.d.ts +0 -7
- package/dist/types/manifest/ManifestFormat.d.ts.map +0 -1
- package/dist/types/manifest/ManifestFormat.js +0 -2
- package/dist/types/manifest/ManifestFormat.js.map +0 -1
- package/dist/types/mapper/dash/AdaptationSet.d.ts +0 -41
- package/dist/types/mapper/dash/AdaptationSet.d.ts.map +0 -1
- package/dist/types/mapper/dash/AdaptationSet.js +0 -2
- package/dist/types/mapper/dash/AdaptationSet.js.map +0 -1
- package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts +0 -12
- package/dist/types/mapper/dash/AudioChannelConfiguration.d.ts.map +0 -1
- package/dist/types/mapper/dash/AudioChannelConfiguration.js +0 -2
- package/dist/types/mapper/dash/AudioChannelConfiguration.js.map +0 -1
- package/dist/types/mapper/dash/ContentComponent.d.ts +0 -11
- package/dist/types/mapper/dash/ContentComponent.d.ts.map +0 -1
- package/dist/types/mapper/dash/ContentComponent.js +0 -2
- package/dist/types/mapper/dash/ContentComponent.js.map +0 -1
- package/dist/types/mapper/dash/DashManifest.d.ts +0 -20
- package/dist/types/mapper/dash/DashManifest.d.ts.map +0 -1
- package/dist/types/mapper/dash/DashManifest.js +0 -2
- package/dist/types/mapper/dash/DashManifest.js.map +0 -1
- package/dist/types/mapper/dash/Initialization.d.ts +0 -12
- package/dist/types/mapper/dash/Initialization.d.ts.map +0 -1
- package/dist/types/mapper/dash/Initialization.js +0 -2
- package/dist/types/mapper/dash/Initialization.js.map +0 -1
- package/dist/types/mapper/dash/Period.d.ts +0 -15
- package/dist/types/mapper/dash/Period.d.ts.map +0 -1
- package/dist/types/mapper/dash/Period.js +0 -2
- package/dist/types/mapper/dash/Period.js.map +0 -1
- package/dist/types/mapper/dash/Representation.d.ts +0 -30
- package/dist/types/mapper/dash/Representation.d.ts.map +0 -1
- package/dist/types/mapper/dash/Representation.js +0 -2
- package/dist/types/mapper/dash/Representation.js.map +0 -1
- package/dist/types/mapper/dash/Role.d.ts +0 -12
- package/dist/types/mapper/dash/Role.d.ts.map +0 -1
- package/dist/types/mapper/dash/Role.js +0 -2
- package/dist/types/mapper/dash/Role.js.map +0 -1
- package/dist/types/mapper/dash/SegmentBase.d.ts +0 -15
- package/dist/types/mapper/dash/SegmentBase.d.ts.map +0 -1
- package/dist/types/mapper/dash/SegmentBase.js +0 -2
- package/dist/types/mapper/dash/SegmentBase.js.map +0 -1
- package/dist/types/mapper/dash/SegmentList.d.ts +0 -16
- package/dist/types/mapper/dash/SegmentList.d.ts.map +0 -1
- package/dist/types/mapper/dash/SegmentList.js +0 -2
- package/dist/types/mapper/dash/SegmentList.js.map +0 -1
- package/dist/types/mapper/dash/SegmentTemplate.d.ts +0 -17
- package/dist/types/mapper/dash/SegmentTemplate.d.ts.map +0 -1
- package/dist/types/mapper/dash/SegmentTemplate.js +0 -2
- package/dist/types/mapper/dash/SegmentTemplate.js.map +0 -1
- package/dist/types/mapper/dash/SegmentUrl.d.ts +0 -11
- package/dist/types/mapper/dash/SegmentUrl.d.ts.map +0 -1
- package/dist/types/mapper/dash/SegmentUrl.js +0 -2
- package/dist/types/mapper/dash/SegmentUrl.js.map +0 -1
- package/dist/types/mapper/hls/Byterange.d.ts +0 -11
- package/dist/types/mapper/hls/Byterange.d.ts.map +0 -1
- package/dist/types/mapper/hls/Byterange.js +0 -2
- package/dist/types/mapper/hls/Byterange.js.map +0 -1
- package/dist/types/mapper/hls/HlsManifest.d.ts +0 -15
- package/dist/types/mapper/hls/HlsManifest.d.ts.map +0 -1
- package/dist/types/mapper/hls/HlsManifest.js +0 -2
- package/dist/types/mapper/hls/HlsManifest.js.map +0 -1
- package/dist/types/mapper/hls/MediaGroups.d.ts +0 -22
- package/dist/types/mapper/hls/MediaGroups.d.ts.map +0 -1
- package/dist/types/mapper/hls/MediaGroups.js +0 -2
- package/dist/types/mapper/hls/MediaGroups.js.map +0 -1
- package/dist/types/mapper/hls/Playlist.d.ts +0 -18
- package/dist/types/mapper/hls/Playlist.d.ts.map +0 -1
- package/dist/types/mapper/hls/Playlist.js +0 -2
- package/dist/types/mapper/hls/Playlist.js.map +0 -1
- package/dist/types/mapper/hls/SegmentHls.d.ts +0 -18
- package/dist/types/mapper/hls/SegmentHls.d.ts.map +0 -1
- package/dist/types/mapper/hls/SegmentHls.js +0 -2
- package/dist/types/mapper/hls/SegmentHls.js.map +0 -1
- package/dist/types/model/AlignedSwitchingSet.d.ts +0 -10
- package/dist/types/model/AlignedSwitchingSet.d.ts.map +0 -1
- package/dist/types/model/AlignedSwitchingSet.js +0 -2
- package/dist/types/model/AlignedSwitchingSet.js.map +0 -1
- package/dist/types/model/AudioTrack.d.ts +0 -17
- package/dist/types/model/AudioTrack.d.ts.map +0 -1
- package/dist/types/model/AudioTrack.js +0 -2
- package/dist/types/model/AudioTrack.js.map +0 -1
- package/dist/types/model/FrameRate.d.ts +0 -14
- package/dist/types/model/FrameRate.d.ts.map +0 -1
- package/dist/types/model/FrameRate.js +0 -11
- package/dist/types/model/FrameRate.js.map +0 -1
- package/dist/types/model/Ham.d.ts +0 -11
- package/dist/types/model/Ham.d.ts.map +0 -1
- package/dist/types/model/Ham.js +0 -2
- package/dist/types/model/Ham.js.map +0 -1
- package/dist/types/model/Presentation.d.ts +0 -13
- package/dist/types/model/Presentation.d.ts.map +0 -1
- package/dist/types/model/Presentation.js +0 -2
- package/dist/types/model/Presentation.js.map +0 -1
- package/dist/types/model/Segment.d.ts +0 -11
- package/dist/types/model/Segment.d.ts.map +0 -1
- package/dist/types/model/Segment.js +0 -2
- package/dist/types/model/Segment.js.map +0 -1
- package/dist/types/model/SelectionSet.d.ts +0 -13
- package/dist/types/model/SelectionSet.d.ts.map +0 -1
- package/dist/types/model/SelectionSet.js +0 -2
- package/dist/types/model/SelectionSet.js.map +0 -1
- package/dist/types/model/SwitchingSet.d.ts +0 -11
- package/dist/types/model/SwitchingSet.d.ts.map +0 -1
- package/dist/types/model/SwitchingSet.js +0 -2
- package/dist/types/model/SwitchingSet.js.map +0 -1
- package/dist/types/model/TextTrack.d.ts +0 -8
- package/dist/types/model/TextTrack.d.ts.map +0 -1
- package/dist/types/model/TextTrack.js +0 -2
- package/dist/types/model/TextTrack.js.map +0 -1
- package/dist/types/model/Track.d.ts +0 -32
- package/dist/types/model/Track.d.ts.map +0 -1
- package/dist/types/model/Track.js +0 -2
- package/dist/types/model/Track.js.map +0 -1
- package/dist/types/model/TrackType.d.ts +0 -8
- package/dist/types/model/TrackType.d.ts.map +0 -1
- package/dist/types/model/TrackType.js +0 -2
- package/dist/types/model/TrackType.js.map +0 -1
- package/dist/types/model/VideoTrack.d.ts +0 -23
- package/dist/types/model/VideoTrack.d.ts.map +0 -1
- package/dist/types/model/VideoTrack.js +0 -2
- package/dist/types/model/VideoTrack.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -16
- package/dist/utils/constants.d.ts.map +0 -1
- package/dist/utils/constants.js +0 -21
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/dash/iso8601DurationToNumber.d.ts +0 -2
- package/dist/utils/dash/iso8601DurationToNumber.d.ts.map +0 -1
- package/dist/utils/dash/iso8601DurationToNumber.js +0 -17
- package/dist/utils/dash/iso8601DurationToNumber.js.map +0 -1
- package/dist/utils/dash/numberToIso8601Duration.d.ts +0 -2
- package/dist/utils/dash/numberToIso8601Duration.d.ts.map +0 -1
- package/dist/utils/dash/numberToIso8601Duration.js +0 -13
- package/dist/utils/dash/numberToIso8601Duration.js.map +0 -1
- package/dist/utils/dash/parseDashManifest.d.ts +0 -22
- package/dist/utils/dash/parseDashManifest.d.ts.map +0 -1
- package/dist/utils/dash/parseDashManifest.js +0 -24
- package/dist/utils/dash/parseDashManifest.js.map +0 -1
- package/dist/utils/dash/serializeDashManifest.d.ts +0 -18
- package/dist/utils/dash/serializeDashManifest.d.ts.map +0 -1
- package/dist/utils/dash/serializeDashManifest.js +0 -20
- package/dist/utils/dash/serializeDashManifest.js.map +0 -1
- package/dist/utils/hls/parseHlsManifest.d.ts +0 -18
- package/dist/utils/hls/parseHlsManifest.d.ts.map +0 -1
- package/dist/utils/hls/parseHlsManifest.js +0 -24
- package/dist/utils/hls/parseHlsManifest.js.map +0 -1
- package/dist/utils/manifest/addMetadataToDash.d.ts +0 -4
- package/dist/utils/manifest/addMetadataToDash.d.ts.map +0 -1
- package/dist/utils/manifest/addMetadataToDash.js +0 -15
- package/dist/utils/manifest/addMetadataToDash.js.map +0 -1
- package/dist/utils/manifest/addMetadataToHls.d.ts +0 -3
- package/dist/utils/manifest/addMetadataToHls.d.ts.map +0 -1
- package/dist/utils/manifest/addMetadataToHls.js +0 -15
- package/dist/utils/manifest/addMetadataToHls.js.map +0 -1
- package/dist/utils/manifest/getMetadata.d.ts +0 -3
- package/dist/utils/manifest/getMetadata.d.ts.map +0 -1
- package/dist/utils/manifest/getMetadata.js +0 -5
- package/dist/utils/manifest/getMetadata.js.map +0 -1
|
@@ -1,52 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Track } from '../../../../types/model/Track.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Get the framerate from a track.
|
|
6
|
-
*
|
|
7
|
-
* If frameRate numerator is not present, it uses 30 as default.
|
|
8
|
-
*
|
|
9
|
-
* @param track - to get the framerate from
|
|
10
|
-
* @returns frame rate as a string formatted as `numerator/denominator`
|
|
11
|
-
*/
|
|
12
|
-
export declare function getFrameRate(track: Track): string | undefined;
|
|
13
|
-
//# sourceMappingURL=getFrameRate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFrameRate.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapHamToDash/utils/getFrameRate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAS9D;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAY7D"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { FRAME_RATE_NUMERATOR_30, ZERO, } from '../../../../utils/constants.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Get the framerate from a track.
|
|
6
|
-
*
|
|
7
|
-
* If frameRate numerator is not present, it uses 30 as default.
|
|
8
|
-
*
|
|
9
|
-
* @param track - to get the framerate from
|
|
10
|
-
* @returns frame rate as a string formatted as `numerator/denominator`
|
|
11
|
-
*/
|
|
12
|
-
export function getFrameRate(track) {
|
|
13
|
-
var _a;
|
|
14
|
-
let frameRate = undefined;
|
|
15
|
-
if ((track === null || track === void 0 ? void 0 : track.type) === 'video') {
|
|
16
|
-
const videoTrack = track;
|
|
17
|
-
frameRate = `${(_a = videoTrack.frameRate.frameRateNumerator) !== null && _a !== void 0 ? _a : FRAME_RATE_NUMERATOR_30}`;
|
|
18
|
-
frameRate =
|
|
19
|
-
videoTrack.frameRate.frameRateDenominator !== ZERO
|
|
20
|
-
? `${frameRate}/${videoTrack.frameRate.frameRateDenominator}`
|
|
21
|
-
: frameRate;
|
|
22
|
-
}
|
|
23
|
-
return frameRate;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=getFrameRate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFrameRate.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapHamToDash/utils/getFrameRate.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,uBAAuB,EACvB,IAAI,GACJ,MAAM,gCAAgC,CAAC;AAGxC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;;IACxC,IAAI,SAAS,GAAuB,SAAS,CAAC;IAC9C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,SAAS,GAAG,GAAG,MAAA,UAAU,CAAC,SAAS,CAAC,kBAAkB,mCAAI,uBAAuB,EAAE,CAAC;QACpF,SAAS;YACR,UAAU,CAAC,SAAS,CAAC,oBAAoB,KAAK,IAAI;gBACjD,CAAC,CAAC,GAAG,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,oBAAoB,EAAE;gBAC7D,CAAC,CAAC,SAAS,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC","sourcesContent":["import type { Track } from '../../../../types/model/Track.js';\nimport type { VideoTrack } from '../../../../types/model/VideoTrack.js';\n\nimport {\n\tFRAME_RATE_NUMERATOR_30,\n\tZERO,\n} from '../../../../utils/constants.js';\n\n\n/**\n * @internal\n *\n * Get the framerate from a track.\n *\n * If frameRate numerator is not present, it uses 30 as default.\n *\n * @param track - to get the framerate from\n * @returns frame rate as a string formatted as `numerator/denominator`\n */\nexport function getFrameRate(track: Track): string | undefined {\n\tlet frameRate: string | undefined = undefined;\n\tif (track?.type === 'video') {\n\t\tconst videoTrack = track as VideoTrack;\n\t\tframeRate = `${videoTrack.frameRate.frameRateNumerator ?? FRAME_RATE_NUMERATOR_30}`;\n\t\tframeRate =\n\t\t\tvideoTrack.frameRate.frameRateDenominator !== ZERO\n\t\t\t\t? `${frameRate}/${videoTrack.frameRate.frameRateDenominator}`\n\t\t\t\t: frameRate;\n\t}\n\n\treturn frameRate;\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Track } from '../../../../types/model/Track.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* This function tries to recreate the timescale value.
|
|
6
|
-
*
|
|
7
|
-
* This value is not stored on the ham object, so it is not possible (for now)
|
|
8
|
-
* to get the original one.
|
|
9
|
-
*
|
|
10
|
-
* Just the audio tracks have this value stored on the `sampleRate` key.
|
|
11
|
-
*
|
|
12
|
-
* @param track - Track to get the timescale from
|
|
13
|
-
* @returns Timescale in numbers
|
|
14
|
-
*/
|
|
15
|
-
export declare function getTimescale(track: Track): number;
|
|
16
|
-
//# sourceMappingURL=getTimescale.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTimescale.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapHamToDash/utils/getTimescale.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAQ9D;;;;;;;;;;;;GAYG;AAEH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAcjD"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { TEXT_SAMPLE_RATE, TIMESCALE_48000, VIDEO_SAMPLE_RATE, } from '../../../../utils/constants.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* This function tries to recreate the timescale value.
|
|
6
|
-
*
|
|
7
|
-
* This value is not stored on the ham object, so it is not possible (for now)
|
|
8
|
-
* to get the original one.
|
|
9
|
-
*
|
|
10
|
-
* Just the audio tracks have this value stored on the `sampleRate` key.
|
|
11
|
-
*
|
|
12
|
-
* @param track - Track to get the timescale from
|
|
13
|
-
* @returns Timescale in numbers
|
|
14
|
-
*/
|
|
15
|
-
export function getTimescale(track) {
|
|
16
|
-
if ((track === null || track === void 0 ? void 0 : track.type) === 'audio') {
|
|
17
|
-
const audioTrack = track;
|
|
18
|
-
return audioTrack.sampleRate !== 0
|
|
19
|
-
? audioTrack.sampleRate
|
|
20
|
-
: TIMESCALE_48000;
|
|
21
|
-
}
|
|
22
|
-
if ((track === null || track === void 0 ? void 0 : track.type) === 'video') {
|
|
23
|
-
return VIDEO_SAMPLE_RATE;
|
|
24
|
-
}
|
|
25
|
-
if ((track === null || track === void 0 ? void 0 : track.type) === 'text') {
|
|
26
|
-
return TEXT_SAMPLE_RATE;
|
|
27
|
-
}
|
|
28
|
-
return VIDEO_SAMPLE_RATE;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=getTimescale.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTimescale.js","sourceRoot":"","sources":["../../../../../src/mapper/dash/mapHamToDash/utils/getTimescale.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GACjB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,YAAY,CAAC,KAAY;IACxC,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,OAAO,UAAU,CAAC,UAAU,KAAK,CAAC;YACjC,CAAC,CAAC,UAAU,CAAC,UAAU;YACvB,CAAC,CAAC,eAAe,CAAC;IACpB,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACD,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC1B,CAAC","sourcesContent":["import type { AudioTrack } from '../../../../types/model/AudioTrack.js';\nimport type { Track } from '../../../../types/model/Track.js';\n\nimport {\n\tTEXT_SAMPLE_RATE,\n\tTIMESCALE_48000,\n\tVIDEO_SAMPLE_RATE,\n} from '../../../../utils/constants.js';\n\n/**\n * @internal\n *\n * This function tries to recreate the timescale value.\n *\n * This value is not stored on the ham object, so it is not possible (for now)\n * to get the original one.\n *\n * Just the audio tracks have this value stored on the `sampleRate` key.\n *\n * @param track - Track to get the timescale from\n * @returns Timescale in numbers\n */\n\nexport function getTimescale(track: Track): number {\n\tif (track?.type === 'audio') {\n\t\tconst audioTrack = track as AudioTrack;\n\t\treturn audioTrack.sampleRate !== 0\n\t\t\t? audioTrack.sampleRate\n\t\t\t: TIMESCALE_48000;\n\t}\n\tif (track?.type === 'video') {\n\t\treturn VIDEO_SAMPLE_RATE;\n\t}\n\tif (track?.type === 'text') {\n\t\treturn TEXT_SAMPLE_RATE;\n\t}\n\treturn VIDEO_SAMPLE_RATE;\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Manifest } from '../../types/manifest/Manifest.js';
|
|
2
|
-
import type { Presentation } from '../../types/model/Presentation.js';
|
|
3
|
-
import type { Mapper } from '../Mapper.js';
|
|
4
|
-
export declare class HlsMapper implements Mapper {
|
|
5
|
-
private manifest;
|
|
6
|
-
getManifestMetadata(): any | undefined;
|
|
7
|
-
toHam(manifest: Manifest): Presentation[];
|
|
8
|
-
toManifest(presentation: Presentation[]): Manifest;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=HlsMapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HlsMapper.d.ts","sourceRoot":"","sources":["../../../src/mapper/hls/HlsMapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAOtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,SAAU,YAAW,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAuB;IAEvC,mBAAmB,IAAI,GAAG,GAAG,SAAS;IAItC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,EAAE;IAMzC,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ;CAGlD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { mapHamToHls } from './mapHamToHls/mapHamToHls.js';
|
|
2
|
-
import { mapHlsToHam } from './mapHlsToHam/mapHlsToHam.js';
|
|
3
|
-
import { getMetadata } from '../../utils/manifest/getMetadata.js';
|
|
4
|
-
export class HlsMapper {
|
|
5
|
-
getManifestMetadata() {
|
|
6
|
-
return getMetadata(this.manifest);
|
|
7
|
-
}
|
|
8
|
-
toHam(manifest) {
|
|
9
|
-
const presentations = mapHlsToHam(manifest);
|
|
10
|
-
this.manifest = manifest;
|
|
11
|
-
return presentations;
|
|
12
|
-
}
|
|
13
|
-
toManifest(presentation) {
|
|
14
|
-
return mapHamToHls(presentation);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=HlsMapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HlsMapper.js","sourceRoot":"","sources":["../../../src/mapper/hls/HlsMapper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAIlE,MAAM,OAAO,SAAS;IAGrB,mBAAmB;QAClB,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAkB;QACvB,MAAM,aAAa,GAAmB,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,YAA4B;QACtC,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACD","sourcesContent":["import type { Manifest } from '../../types/manifest/Manifest.js';\nimport type { Presentation } from '../../types/model/Presentation.js';\n\nimport { mapHamToHls } from './mapHamToHls/mapHamToHls.js';\nimport { mapHlsToHam } from './mapHlsToHam/mapHlsToHam.js';\n\nimport { getMetadata } from '../../utils/manifest/getMetadata.js';\n\nimport type { Mapper } from '../Mapper.js';\n\nexport class HlsMapper implements Mapper {\n\tprivate manifest: Manifest | undefined;\n\n\tgetManifestMetadata(): any | undefined {\n\t\treturn getMetadata(this.manifest);\n\t}\n\n\ttoHam(manifest: Manifest): Presentation[] {\n\t\tconst presentations: Presentation[] = mapHlsToHam(manifest);\n\t\tthis.manifest = manifest;\n\t\treturn presentations;\n\t}\n\n\ttoManifest(presentation: Presentation[]): Manifest {\n\t\treturn mapHamToHls(presentation);\n\t}\n}\n"]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Track } from '../../../types/model/Track.js';
|
|
2
|
-
type ManifestPlaylistPiece = {
|
|
3
|
-
mainRef: string;
|
|
4
|
-
playlist: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function generateManifestPlaylistPiece(track: Track): ManifestPlaylistPiece;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=generateManifestPlaylistPiece.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateManifestPlaylistPiece.d.ts","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAM3D,KAAK,qBAAqB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,qBAAqB,CAyBjF"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { getPlaylistData } from './utils/getPlaylistData.js';
|
|
2
|
-
import { getSegments } from './utils/getSegments.js';
|
|
3
|
-
export function generateManifestPlaylistPiece(track) {
|
|
4
|
-
var _a;
|
|
5
|
-
const mediaSequence = 0; //TODO : save mediaSequence in the model.
|
|
6
|
-
const trackFileName = (_a = track.fileName) !== null && _a !== void 0 ? _a : `${track.id}.m3u8`;
|
|
7
|
-
let mainRef = '';
|
|
8
|
-
let playlist = `#EXTM3U\n#EXT-X-TARGETDURATION:${track.duration / track.segments.length}\n#EXT-X-PLAYLIST-TYPE:VOD\n#EXT-X-MEDIA-SEQUENCE:${mediaSequence}\n`;
|
|
9
|
-
if (track.type.toLowerCase() === 'video') {
|
|
10
|
-
const videoTrack = track;
|
|
11
|
-
mainRef += `#EXT-X-STREAM-INF:BANDWIDTH=${videoTrack.bandwidth},CODECS="${videoTrack.codec}",RESOLUTION=${videoTrack.width}x${videoTrack.height}\n${trackFileName}\n`;
|
|
12
|
-
playlist += getPlaylistData(videoTrack);
|
|
13
|
-
}
|
|
14
|
-
else if (track.type.toLowerCase() === 'audio') {
|
|
15
|
-
const audioTrack = track;
|
|
16
|
-
mainRef += `#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="${audioTrack.id}",LANGUAGE="${audioTrack.language}",NAME="${audioTrack.id}",URI="${trackFileName}"\n`;
|
|
17
|
-
playlist += getPlaylistData(audioTrack);
|
|
18
|
-
}
|
|
19
|
-
else if (track.type.toLowerCase() === 'text') {
|
|
20
|
-
const textTrack = track;
|
|
21
|
-
mainRef += `#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="${textTrack.id}",NAME="${textTrack.id}",LANGUAGE="${textTrack.language}",URI="${trackFileName}"\n`;
|
|
22
|
-
}
|
|
23
|
-
playlist += `${getSegments(track.segments)}#EXT-X-ENDLIST`;
|
|
24
|
-
return { mainRef, playlist };
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=generateManifestPlaylistPiece.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateManifestPlaylistPiece.js","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHamToHls/generateManifestPlaylistPiece.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAOrD,MAAM,UAAU,6BAA6B,CAAC,KAAY;;IACzD,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,yCAAyC;IAClE,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC;IAE3D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,kCAAkC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,qDAAqD,aAAa,IAAI,CAAC;IAE9J,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,OAAO,IAAI,+BAA+B,UAAU,CAAC,SAAS,YAAY,UAAU,CAAC,KAAK,gBAAgB,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC;QACtK,QAAQ,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;SACI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,KAAmB,CAAC;QACvC,OAAO,IAAI,qCAAqC,UAAU,CAAC,EAAE,eAAe,UAAU,CAAC,QAAQ,WAAW,UAAU,CAAC,EAAE,UAAU,aAAa,KAAK,CAAC;QACpJ,QAAQ,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;SACI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAkB,CAAC;QACrC,OAAO,IAAI,yCAAyC,SAAS,CAAC,EAAE,WAAW,SAAS,CAAC,EAAE,eAAe,SAAS,CAAC,QAAQ,UAAU,aAAa,KAAK,CAAC;IACtJ,CAAC;IAED,QAAQ,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAE3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC","sourcesContent":["import type { AudioTrack } from '../../../types/model/AudioTrack.js';\nimport type { TextTrack } from '../../../types/model/TextTrack.js';\nimport type { Track } from '../../../types/model/Track.js';\nimport type { VideoTrack } from '../../../types/model/VideoTrack.js';\n\nimport { getPlaylistData } from './utils/getPlaylistData.js';\nimport { getSegments } from './utils/getSegments.js';\n\ntype ManifestPlaylistPiece = {\n\tmainRef: string;\n\tplaylist: string;\n};\n\nexport function generateManifestPlaylistPiece(track: Track): ManifestPlaylistPiece {\n\tconst mediaSequence = 0; //TODO : save mediaSequence in the model.\n\tconst trackFileName = track.fileName ?? `${track.id}.m3u8`;\n\n\tlet mainRef = '';\n\tlet playlist = `#EXTM3U\\n#EXT-X-TARGETDURATION:${track.duration / track.segments.length}\\n#EXT-X-PLAYLIST-TYPE:VOD\\n#EXT-X-MEDIA-SEQUENCE:${mediaSequence}\\n`;\n\n\tif (track.type.toLowerCase() === 'video') {\n\t\tconst videoTrack = track as VideoTrack;\n\t\tmainRef += `#EXT-X-STREAM-INF:BANDWIDTH=${videoTrack.bandwidth},CODECS=\"${videoTrack.codec}\",RESOLUTION=${videoTrack.width}x${videoTrack.height}\\n${trackFileName}\\n`;\n\t\tplaylist += getPlaylistData(videoTrack);\n\t}\n\telse if (track.type.toLowerCase() === 'audio') {\n\t\tconst audioTrack = track as AudioTrack;\n\t\tmainRef += `#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"${audioTrack.id}\",LANGUAGE=\"${audioTrack.language}\",NAME=\"${audioTrack.id}\",URI=\"${trackFileName}\"\\n`;\n\t\tplaylist += getPlaylistData(audioTrack);\n\t}\n\telse if (track.type.toLowerCase() === 'text') {\n\t\tconst textTrack = track as TextTrack;\n\t\tmainRef += `#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"${textTrack.id}\",NAME=\"${textTrack.id}\",LANGUAGE=\"${textTrack.language}\",URI=\"${trackFileName}\"\\n`;\n\t}\n\n\tplaylist += `${getSegments(track.segments)}#EXT-X-ENDLIST`;\n\n\treturn { mainRef, playlist };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapHamToHls.d.ts","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHamToHls/mapHamToHls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAOzE,wBAAgB,WAAW,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,CA2BnE"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { generateManifestPlaylistPiece } from './generateManifestPlaylistPiece.js';
|
|
2
|
-
export function mapHamToHls(presentations) {
|
|
3
|
-
const version = 7; //TODO Add a way to change the version. For now version 7 is hardcoded as it is the first version of HLS with CMAF support
|
|
4
|
-
let mainManifest = `#EXTM3U\n#EXT-X-VERSION:${version}\n\n`;
|
|
5
|
-
const playlists = [];
|
|
6
|
-
presentations.map((presentation) => {
|
|
7
|
-
presentation.selectionSets.map((selectionSet) => {
|
|
8
|
-
selectionSet.switchingSets.map((switchingSet) => {
|
|
9
|
-
switchingSet.tracks.map((track) => {
|
|
10
|
-
var _a;
|
|
11
|
-
const { mainRef, playlist } = generateManifestPlaylistPiece(track);
|
|
12
|
-
mainManifest += mainRef;
|
|
13
|
-
const manifestFileName = (_a = track.fileName) !== null && _a !== void 0 ? _a : `${track.id}.m3u8`;
|
|
14
|
-
playlists.push({
|
|
15
|
-
manifest: playlist,
|
|
16
|
-
type: 'hls',
|
|
17
|
-
fileName: manifestFileName,
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
return {
|
|
24
|
-
manifest: mainManifest,
|
|
25
|
-
ancillaryManifests: playlists,
|
|
26
|
-
type: 'hls',
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=mapHamToHls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapHamToHls.js","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHamToHls/mapHamToHls.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,UAAU,WAAW,CAAC,aAA6B;IACxD,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,0HAA0H;IAC7I,IAAI,YAAY,GAAG,2BAA2B,OAAO,MAAM,CAAC;IAC5D,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,aAAa,CAAC,GAAG,CAAC,CAAC,YAA0B,EAAE,EAAE;QAChD,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAA0B,EAAE,EAAE;YAC7D,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAA0B,EAAE,EAAE;gBAC7D,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE;;oBACxC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAC1B,6BAA6B,CAAC,KAAK,CAAC,CAAC;oBACtC,YAAY,IAAI,OAAO,CAAC;oBACxB,MAAM,gBAAgB,GACrB,MAAA,KAAK,CAAC,QAAQ,mCAAI,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC;oBACtC,SAAS,CAAC,IAAI,CAAC;wBACd,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,gBAAgB;qBAC1B,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACN,QAAQ,EAAE,YAAY;QACtB,kBAAkB,EAAE,SAAS;QAC7B,IAAI,EAAE,KAAK;KACX,CAAC;AACH,CAAC","sourcesContent":["import type { Manifest } from '../../../types/manifest/Manifest.js';\nimport type { Presentation } from '../../../types/model/Presentation.js';\nimport type { SelectionSet } from '../../../types/model/SelectionSet.js';\nimport type { SwitchingSet } from '../../../types/model/SwitchingSet.js';\nimport type { Track } from '../../../types/model/Track.js';\n\nimport { generateManifestPlaylistPiece } from './generateManifestPlaylistPiece.js';\n\nexport function mapHamToHls(presentations: Presentation[]): Manifest {\n\tconst version = 7; //TODO Add a way to change the version. For now version 7 is hardcoded as it is the first version of HLS with CMAF support\n\tlet mainManifest = `#EXTM3U\\n#EXT-X-VERSION:${version}\\n\\n`;\n\tconst playlists: Manifest[] = [];\n\tpresentations.map((presentation: Presentation) => {\n\t\tpresentation.selectionSets.map((selectionSet: SelectionSet) => {\n\t\t\tselectionSet.switchingSets.map((switchingSet: SwitchingSet) => {\n\t\t\t\tswitchingSet.tracks.map((track: Track) => {\n\t\t\t\t\tconst { mainRef, playlist } =\n\t\t\t\t\t\tgenerateManifestPlaylistPiece(track);\n\t\t\t\t\tmainManifest += mainRef;\n\t\t\t\t\tconst manifestFileName =\n\t\t\t\t\t\ttrack.fileName ?? `${track.id}.m3u8`;\n\t\t\t\t\tplaylists.push({\n\t\t\t\t\t\tmanifest: playlist,\n\t\t\t\t\t\ttype: 'hls',\n\t\t\t\t\t\tfileName: manifestFileName,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t});\n\treturn {\n\t\tmanifest: mainManifest,\n\t\tancillaryManifests: playlists,\n\t\ttype: 'hls',\n\t};\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { AudioTrack } from '../../../../types/model/AudioTrack.js';
|
|
2
|
-
import type { VideoTrack } from '../../../../types/model/VideoTrack.js';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* Get the byterange in hls format from ham track.
|
|
7
|
-
*
|
|
8
|
-
* @param track - Track to get the byterange from
|
|
9
|
-
* @returns string containing the byterange in the hls format
|
|
10
|
-
*
|
|
11
|
-
* @alpha
|
|
12
|
-
*/
|
|
13
|
-
export declare function getByterange(track: VideoTrack | AudioTrack): string;
|
|
14
|
-
//# sourceMappingURL=getByterange.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getByterange.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getByterange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAOxE;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAQnE"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AT_SEPARATOR, HYPHEN_MINUS_SEPARATOR, } from '../../../../utils/constants.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Get the byterange in hls format from ham track.
|
|
6
|
-
*
|
|
7
|
-
* @param track - Track to get the byterange from
|
|
8
|
-
* @returns string containing the byterange in the hls format
|
|
9
|
-
*
|
|
10
|
-
* @alpha
|
|
11
|
-
*/
|
|
12
|
-
export function getByterange(track) {
|
|
13
|
-
var _a, _b, _c, _d;
|
|
14
|
-
if (track.byteRange) {
|
|
15
|
-
return `BYTERANGE:${track.byteRange.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR)}\n`;
|
|
16
|
-
}
|
|
17
|
-
else if ((_b = (_a = track.segments) === null || _a === void 0 ? void 0 : _a.at(0)) === null || _b === void 0 ? void 0 : _b.byteRange) {
|
|
18
|
-
return `BYTERANGE:0@${Number((_d = (_c = track.segments.at(0)) === null || _c === void 0 ? void 0 : _c.byteRange) === null || _d === void 0 ? void 0 : _d.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR).split(AT_SEPARATOR)[0]) - 1}\n`;
|
|
19
|
-
}
|
|
20
|
-
return '';
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=getByterange.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getByterange.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getByterange.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,YAAY,EACZ,sBAAsB,GACtB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAA8B;;IAC1D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,aAAa,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,IAAI,CAAC;IACvF,CAAC;SACI,IAAI,MAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,EAAE,CAAC,CAAC,CAAC,0CAAE,SAAS,EAAE,CAAC;QAC3C,OAAO,eAAe,MAAM,CAAC,MAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,0CAAE,SAAS,0CAAE,OAAO,CAAC,sBAAsB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7I,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC","sourcesContent":["import type { AudioTrack } from '../../../../types/model/AudioTrack.js';\nimport type { VideoTrack } from '../../../../types/model/VideoTrack.js';\n\nimport {\n\tAT_SEPARATOR,\n\tHYPHEN_MINUS_SEPARATOR,\n} from '../../../../utils/constants.js';\n\n/**\n * @internal\n *\n * Get the byterange in hls format from ham track.\n *\n * @param track - Track to get the byterange from\n * @returns string containing the byterange in the hls format\n *\n * @alpha\n */\nexport function getByterange(track: VideoTrack | AudioTrack): string {\n\tif (track.byteRange) {\n\t\treturn `BYTERANGE:${track.byteRange.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR)}\\n`;\n\t}\n\telse if (track.segments?.at(0)?.byteRange) {\n\t\treturn `BYTERANGE:0@${Number(track.segments.at(0)?.byteRange?.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR).split(AT_SEPARATOR)[0]) - 1}\\n`;\n\t}\n\treturn '';\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { AudioTrack } from '../../../../types/model/AudioTrack.js';
|
|
2
|
-
import type { VideoTrack } from '../../../../types/model/VideoTrack.js';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* Get the playlist data in hls format from ham track.
|
|
7
|
-
*
|
|
8
|
-
* @param track - Track to get the playlist data from
|
|
9
|
-
* @returns string containing the playlist data in the hls format
|
|
10
|
-
*
|
|
11
|
-
* @alpha
|
|
12
|
-
*/
|
|
13
|
-
export declare function getPlaylistData(track: AudioTrack | VideoTrack): string;
|
|
14
|
-
//# sourceMappingURL=getPlaylistData.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPlaylistData.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getPlaylistData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAKxE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAEtE"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { getByterange } from './getByterange.js';
|
|
2
|
-
import { getUrlInitialization } from './getUrlInitialization.js';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* Get the playlist data in hls format from ham track.
|
|
7
|
-
*
|
|
8
|
-
* @param track - Track to get the playlist data from
|
|
9
|
-
* @returns string containing the playlist data in the hls format
|
|
10
|
-
*
|
|
11
|
-
* @alpha
|
|
12
|
-
*/
|
|
13
|
-
export function getPlaylistData(track) {
|
|
14
|
-
return `#EXT-X-MAP:URI="${getUrlInitialization(track)}",${getByterange(track)}\n`;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=getPlaylistData.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPlaylistData.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getPlaylistData.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC7D,OAAO,mBAAmB,oBAAoB,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;AACnF,CAAC","sourcesContent":["import type { AudioTrack } from '../../../../types/model/AudioTrack.js';\nimport type { VideoTrack } from '../../../../types/model/VideoTrack.js';\n\nimport { getByterange } from './getByterange.js';\nimport { getUrlInitialization } from './getUrlInitialization.js';\n\n/**\n * @internal\n *\n * Get the playlist data in hls format from ham track.\n *\n * @param track - Track to get the playlist data from\n * @returns string containing the playlist data in the hls format\n *\n * @alpha\n */\nexport function getPlaylistData(track: AudioTrack | VideoTrack): string {\n\treturn `#EXT-X-MAP:URI=\"${getUrlInitialization(track)}\",${getByterange(track)}\\n`;\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Segment } from '../../../../types/model/Segment.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Format the ham segments to hls.
|
|
6
|
-
*
|
|
7
|
-
* @param segments - Segments to be formatted
|
|
8
|
-
* @returns string containing the segments in the hls format
|
|
9
|
-
*
|
|
10
|
-
* @alpha
|
|
11
|
-
*/
|
|
12
|
-
export declare function getSegments(segments: Segment[]): string;
|
|
13
|
-
//# sourceMappingURL=getSegments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSegments.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getSegments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AASlE;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAavD"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { AT_SEPARATOR, HYPHEN_MINUS_SEPARATOR, WHITE_SPACE, WHITE_SPACE_ENCODED, } from '../../../../utils/constants.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Format the ham segments to hls.
|
|
6
|
-
*
|
|
7
|
-
* @param segments - Segments to be formatted
|
|
8
|
-
* @returns string containing the segments in the hls format
|
|
9
|
-
*
|
|
10
|
-
* @alpha
|
|
11
|
-
*/
|
|
12
|
-
export function getSegments(segments) {
|
|
13
|
-
return segments
|
|
14
|
-
.map((segment) => {
|
|
15
|
-
const byteRange = segment.byteRange
|
|
16
|
-
? `#EXT-X-BYTERANGE:${segment.byteRange.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR)}\n`
|
|
17
|
-
: '';
|
|
18
|
-
const url = segment.url.replaceAll(WHITE_SPACE, WHITE_SPACE_ENCODED);
|
|
19
|
-
return `#EXTINF:${segment.duration},\n${byteRange}\n${url}`;
|
|
20
|
-
})
|
|
21
|
-
.join('\n');
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=getSegments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSegments.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getSegments.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,mBAAmB,GACnB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,QAAmB;IAC9C,OAAO,QAAQ;SACb,GAAG,CAAC,CAAC,OAAgB,EAAU,EAAE;QACjC,MAAM,SAAS,GAAW,OAAO,CAAC,SAAS;YAC1C,CAAC,CAAC,oBAAoB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,IAAI;YACzF,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,GAAG,GAAW,OAAO,CAAC,GAAG,CAAC,UAAU,CACzC,WAAW,EACX,mBAAmB,CACnB,CAAC;QACF,OAAO,WAAW,OAAO,CAAC,QAAQ,MAAM,SAAS,KAAK,GAAG,EAAE,CAAC;IAC7D,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC","sourcesContent":["import type { Segment } from '../../../../types/model/Segment.js';\n\nimport {\n\tAT_SEPARATOR,\n\tHYPHEN_MINUS_SEPARATOR,\n\tWHITE_SPACE,\n\tWHITE_SPACE_ENCODED,\n} from '../../../../utils/constants.js';\n\n/**\n * @internal\n *\n * Format the ham segments to hls.\n *\n * @param segments - Segments to be formatted\n * @returns string containing the segments in the hls format\n *\n * @alpha\n */\nexport function getSegments(segments: Segment[]): string {\n\treturn segments\n\t\t.map((segment: Segment): string => {\n\t\t\tconst byteRange: string = segment.byteRange\n\t\t\t\t? `#EXT-X-BYTERANGE:${segment.byteRange.replace(HYPHEN_MINUS_SEPARATOR, AT_SEPARATOR)}\\n`\n\t\t\t\t: '';\n\t\t\tconst url: string = segment.url.replaceAll(\n\t\t\t\tWHITE_SPACE,\n\t\t\t\tWHITE_SPACE_ENCODED,\n\t\t\t);\n\t\t\treturn `#EXTINF:${segment.duration},\\n${byteRange}\\n${url}`;\n\t\t})\n\t\t.join('\\n');\n}\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { AudioTrack } from '../../../../types/model/AudioTrack.js';
|
|
2
|
-
import type { VideoTrack } from '../../../../types/model/VideoTrack.js';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* Get url initialization from ham track.
|
|
7
|
-
*
|
|
8
|
-
* @param track - Track to get the url initialization from
|
|
9
|
-
* @returns string containing the url initialization in the hls format
|
|
10
|
-
*
|
|
11
|
-
* @alpha
|
|
12
|
-
*/
|
|
13
|
-
export declare function getUrlInitialization(track: VideoTrack | AudioTrack): string;
|
|
14
|
-
//# sourceMappingURL=getUrlInitialization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getUrlInitialization.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getUrlInitialization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAOxE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAK3E"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { WHITE_SPACE, WHITE_SPACE_ENCODED, } from '../../../../utils/constants.js';
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*
|
|
5
|
-
* Get url initialization from ham track.
|
|
6
|
-
*
|
|
7
|
-
* @param track - Track to get the url initialization from
|
|
8
|
-
* @returns string containing the url initialization in the hls format
|
|
9
|
-
*
|
|
10
|
-
* @alpha
|
|
11
|
-
*/
|
|
12
|
-
export function getUrlInitialization(track) {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
return ((_b = (_a = track.urlInitialization) === null || _a === void 0 ? void 0 : _a.replaceAll(WHITE_SPACE, WHITE_SPACE_ENCODED)) !== null && _b !== void 0 ? _b : '');
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=getUrlInitialization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getUrlInitialization.js","sourceRoot":"","sources":["../../../../../src/mapper/hls/mapHamToHls/utils/getUrlInitialization.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,WAAW,EACX,mBAAmB,GACnB,MAAM,gCAAgC,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA8B;;IAClE,OAAO,CACN,MAAA,MAAA,KAAK,CAAC,iBAAiB,0CAAE,UAAU,CAAC,WAAW,EAAE,mBAAmB,CAAC,mCACrE,EAAE,CACF,CAAC;AACH,CAAC","sourcesContent":["import type { AudioTrack } from '../../../../types/model/AudioTrack.js';\nimport type { VideoTrack } from '../../../../types/model/VideoTrack.js';\n\nimport {\n\tWHITE_SPACE,\n\tWHITE_SPACE_ENCODED,\n} from '../../../../utils/constants.js';\n\n/**\n * @internal\n *\n * Get url initialization from ham track.\n *\n * @param track - Track to get the url initialization from\n * @returns string containing the url initialization in the hls format\n *\n * @alpha\n */\nexport function getUrlInitialization(track: VideoTrack | AudioTrack): string {\n\treturn (\n\t\ttrack.urlInitialization?.replaceAll(WHITE_SPACE, WHITE_SPACE_ENCODED) ??\n\t\t''\n\t);\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { SwitchingSet } from '../../../types/model/SwitchingSet.js';
|
|
2
|
-
import type { Manifest } from '../../../types/manifest/Manifest.js';
|
|
3
|
-
/**
|
|
4
|
-
* @internal
|
|
5
|
-
*
|
|
6
|
-
* This function is used to convert audio groups to switching sets.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @param mediaGroupsAudio - Any
|
|
10
|
-
* @param manifestPlaylists - Array of Manifest
|
|
11
|
-
* @returns Array of switchingSet
|
|
12
|
-
*
|
|
13
|
-
* @alpha
|
|
14
|
-
*/
|
|
15
|
-
export declare function audioGroupsToSwitchingSets(mediaGroupsAudio: any, manifestPlaylists: Manifest[]): SwitchingSet[];
|
|
16
|
-
//# sourceMappingURL=audioGroupsToSwitchingSets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audioGroupsToSwitchingSets.d.ts","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AASpE;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,GAAG,EACrB,iBAAiB,EAAE,QAAQ,EAAE,GAC3B,YAAY,EAAE,CAyChB"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { parseHlsManifest } from '../../../utils/hls/parseHlsManifest.js';
|
|
2
|
-
import { formatSegments } from './utils/formatSegments.js';
|
|
3
|
-
import { getByterange } from './utils/getByterange.js';
|
|
4
|
-
import { getCodec } from './utils/getCodec.js';
|
|
5
|
-
import { getDuration } from './utils/getDuration.js';
|
|
6
|
-
/**
|
|
7
|
-
* @internal
|
|
8
|
-
*
|
|
9
|
-
* This function is used to convert audio groups to switching sets.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @param mediaGroupsAudio - Any
|
|
13
|
-
* @param manifestPlaylists - Array of Manifest
|
|
14
|
-
* @returns Array of switchingSet
|
|
15
|
-
*
|
|
16
|
-
* @alpha
|
|
17
|
-
*/
|
|
18
|
-
export function audioGroupsToSwitchingSets(mediaGroupsAudio, manifestPlaylists) {
|
|
19
|
-
var _a, _b;
|
|
20
|
-
const audioSwitchingSets = [];
|
|
21
|
-
const audioTracks = [];
|
|
22
|
-
for (const audioEncodings in mediaGroupsAudio) {
|
|
23
|
-
const encodings = mediaGroupsAudio[audioEncodings];
|
|
24
|
-
for (const audio in encodings) {
|
|
25
|
-
const attributes = encodings[audio];
|
|
26
|
-
const { language, uri } = attributes;
|
|
27
|
-
const audioParsed = parseHlsManifest((_a = manifestPlaylists.shift()) === null || _a === void 0 ? void 0 : _a.manifest);
|
|
28
|
-
const map = (_b = audioParsed === null || audioParsed === void 0 ? void 0 : audioParsed.segments[0]) === null || _b === void 0 ? void 0 : _b.map;
|
|
29
|
-
const segments = formatSegments(audioParsed === null || audioParsed === void 0 ? void 0 : audioParsed.segments);
|
|
30
|
-
// TODO: channels, sampleRate, bandwith and codec need to be
|
|
31
|
-
// updated with real values. Right now we are using simple hardcoded values.
|
|
32
|
-
const byteRange = getByterange(map === null || map === void 0 ? void 0 : map.byterange);
|
|
33
|
-
audioTracks.push({
|
|
34
|
-
id: audio,
|
|
35
|
-
type: 'audio',
|
|
36
|
-
fileName: uri,
|
|
37
|
-
codec: getCodec('audio'),
|
|
38
|
-
duration: getDuration(audioParsed, segments),
|
|
39
|
-
language: language,
|
|
40
|
-
bandwidth: 0,
|
|
41
|
-
segments: segments,
|
|
42
|
-
sampleRate: 0,
|
|
43
|
-
channels: 2,
|
|
44
|
-
...(byteRange && { byteRange }),
|
|
45
|
-
...((map === null || map === void 0 ? void 0 : map.uri) && { urlInitialization: map === null || map === void 0 ? void 0 : map.uri }),
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
audioSwitchingSets.push({
|
|
50
|
-
id: 'audio',
|
|
51
|
-
tracks: audioTracks,
|
|
52
|
-
});
|
|
53
|
-
return audioSwitchingSets;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=audioGroupsToSwitchingSets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audioGroupsToSwitchingSets.js","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/audioGroupsToSwitchingSets.ts"],"names":[],"mappings":"AAKA,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;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CACzC,gBAAqB,EACrB,iBAA6B;;IAE7B,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAQ,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;YACrC,MAAM,WAAW,GAAG,gBAAgB,CACnC,MAAA,iBAAiB,CAAC,KAAK,EAAE,0CAAE,QAAQ,CACnC,CAAC;YACF,MAAM,GAAG,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC;YAC1C,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,CAAC;YAEvD,4DAA4D;YAC5D,4EAA4E;YAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,SAAS,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAC5C,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,KAAI,EAAE,iBAAiB,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,EAAE,CAAC;aAClC,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,IAAI,CAAC;QACvB,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,WAAW;KACH,CAAC,CAAC;IAEnB,OAAO,kBAAkB,CAAC;AAC3B,CAAC","sourcesContent":["import type { AudioTrack } from '../../../types/model/AudioTrack.js';\nimport type { SwitchingSet } from '../../../types/model/SwitchingSet.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 { getByterange } from './utils/getByterange.js';\nimport { getCodec } from './utils/getCodec.js';\nimport { getDuration } from './utils/getDuration.js';\n\n/**\n * @internal\n *\n * This function is used to convert audio groups to switching sets.\n *\n *\n * @param mediaGroupsAudio - Any\n * @param manifestPlaylists - Array of Manifest\n * @returns Array of switchingSet\n *\n * @alpha\n */\nexport function audioGroupsToSwitchingSets(\n\tmediaGroupsAudio: any,\n\tmanifestPlaylists: Manifest[],\n): SwitchingSet[] {\n\tconst audioSwitchingSets: SwitchingSet[] = [];\n\tconst audioTracks: AudioTrack[] = [];\n\n\tfor (const audioEncodings in mediaGroupsAudio) {\n\t\tconst encodings = mediaGroupsAudio[audioEncodings];\n\t\tfor (const audio in encodings) {\n\t\t\tconst attributes: any = encodings[audio];\n\t\t\tconst { language, uri } = attributes;\n\t\t\tconst audioParsed = parseHlsManifest(\n\t\t\t\tmanifestPlaylists.shift()?.manifest,\n\t\t\t);\n\t\t\tconst map = audioParsed?.segments[0]?.map;\n\t\t\tconst segments = formatSegments(audioParsed?.segments);\n\n\t\t\t// TODO: channels, sampleRate, bandwith and codec need to be\n\t\t\t// updated with real values. Right now we are using simple hardcoded values.\n\t\t\tconst byteRange = getByterange(map?.byterange);\n\t\t\taudioTracks.push({\n\t\t\t\tid: audio,\n\t\t\t\ttype: 'audio',\n\t\t\t\tfileName: uri,\n\t\t\t\tcodec: getCodec('audio'),\n\t\t\t\tduration: getDuration(audioParsed, segments),\n\t\t\t\tlanguage: language,\n\t\t\t\tbandwidth: 0,\n\t\t\t\tsegments: segments,\n\t\t\t\tsampleRate: 0,\n\t\t\t\tchannels: 2,\n\t\t\t\t...(byteRange && { byteRange }),\n\t\t\t\t...(map?.uri && { urlInitialization: map?.uri }),\n\t\t\t} as AudioTrack);\n\t\t}\n\t}\n\n\taudioSwitchingSets.push({\n\t\tid: 'audio',\n\t\ttracks: audioTracks,\n\t} as SwitchingSet);\n\n\treturn audioSwitchingSets;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mapHlsToHam.d.ts","sourceRoot":"","sources":["../../../../src/mapper/hls/mapHlsToHam/mapHlsToHam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AASpE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,EAAE,CAiD9D"}
|