import { sha1 } from '../../helpers/core-utils'
import { isArrayOf } from '../../helpers/custom-validators/misc'
import { Op, QueryTypes } from 'sequelize'
-import { MStreamingPlaylist, MStreamingPlaylistVideo, MVideoFile } from '@server/typings/models'
+import { MStreamingPlaylist, MStreamingPlaylistVideo, MVideoFile } from '@server/types/models'
import { VideoFileModel } from '@server/models/video/video-file'
import { getTorrentFileName, getTorrentFilePath, getVideoFilename } from '@server/lib/video-paths'
import * as memoizee from 'memoizee'
return VideoStreamingPlaylistModel.findByPk(id, options)
}
+ static loadHLSPlaylistByVideo (videoId: number) {
+ const options = {
+ where: {
+ type: VideoStreamingPlaylistType.HLS,
+ videoId
+ }
+ }
+
+ return VideoStreamingPlaylistModel.findOne(options)
+ }
+
static getHlsPlaylistFilename (resolution: number) {
return resolution + '.m3u8'
}
return join(STATIC_PATHS.STREAMING_PLAYLISTS.HLS, videoUUID, VideoStreamingPlaylistModel.getHlsPlaylistFilename(resolution))
}
- static getHlsSha256SegmentsStaticPath (videoUUID: string) {
+ static getHlsSha256SegmentsStaticPath (videoUUID: string, isLive: boolean) {
+ if (isLive) return join('/live', 'segments-sha256', videoUUID)
+
return join(STATIC_PATHS.STREAMING_PLAYLISTS.HLS, videoUUID, VideoStreamingPlaylistModel.getHlsSha256SegmentsFilename())
}