X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fobject-storage%2Fvideos.ts;h=66e738200ed329e2c7918b656c9b99bf78922374;hb=7f529402d17a918136af7a1291e61a94c2e16f6d;hp=15b8f58d5e0d99c15f26ac026f7a9e3d11e515e9;hpb=0305db28c98fd6cf43a3c50ba92c76215e99d512;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/object-storage/videos.ts b/server/lib/object-storage/videos.ts index 15b8f58d5..66e738200 100644 --- a/server/lib/object-storage/videos.ts +++ b/server/lib/object-storage/videos.ts @@ -1,17 +1,15 @@ import { join } from 'path' import { logger } from '@server/helpers/logger' import { CONFIG } from '@server/initializers/config' -import { MStreamingPlaylist, MVideoFile, MVideoUUID } from '@server/types/models' +import { MStreamingPlaylistVideo, MVideoFile } from '@server/types/models' import { getHLSDirectory } from '../paths' import { generateHLSObjectBaseStorageKey, generateHLSObjectStorageKey, generateWebTorrentObjectStorageKey } from './keys' import { lTags, makeAvailable, removeObject, removePrefix, storeObject } from './shared' -function storeHLSFile (playlist: MStreamingPlaylist, video: MVideoUUID, filename: string) { - const baseHlsDirectory = getHLSDirectory(video) - +function storeHLSFile (playlist: MStreamingPlaylistVideo, filename: string, path?: string) { return storeObject({ - inputPath: join(baseHlsDirectory, filename), - objectStorageKey: generateHLSObjectStorageKey(playlist, video, filename), + inputPath: path ?? join(getHLSDirectory(playlist.Video), filename), + objectStorageKey: generateHLSObjectStorageKey(playlist, filename), bucketInfo: CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS }) } @@ -24,16 +22,20 @@ function storeWebTorrentFile (filename: string) { }) } -function removeHLSObjectStorage (playlist: MStreamingPlaylist, video: MVideoUUID) { - return removePrefix(generateHLSObjectBaseStorageKey(playlist, video), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) +function removeHLSObjectStorage (playlist: MStreamingPlaylistVideo) { + return removePrefix(generateHLSObjectBaseStorageKey(playlist), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) +} + +function removeHLSFileObjectStorage (playlist: MStreamingPlaylistVideo, filename: string) { + return removeObject(generateHLSObjectStorageKey(playlist, filename), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) } function removeWebTorrentObjectStorage (videoFile: MVideoFile) { return removeObject(generateWebTorrentObjectStorageKey(videoFile.filename), CONFIG.OBJECT_STORAGE.VIDEOS) } -async function makeHLSFileAvailable (playlist: MStreamingPlaylist, video: MVideoUUID, filename: string, destination: string) { - const key = generateHLSObjectStorageKey(playlist, video, filename) +async function makeHLSFileAvailable (playlist: MStreamingPlaylistVideo, filename: string, destination: string) { + const key = generateHLSObjectStorageKey(playlist, filename) logger.info('Fetching HLS file %s from object storage to %s.', key, destination, lTags()) @@ -65,6 +67,7 @@ export { storeHLSFile, removeHLSObjectStorage, + removeHLSFileObjectStorage, removeWebTorrentObjectStorage, makeWebTorrentFileAvailable,