+ if (playlist.playlistFilename) {
+ await video.removeStreamingPlaylistFile(playlist, playlist.playlistFilename)
+ }
+ playlist.playlistFilename = generateHLSMasterPlaylistFilename(video.isLive)
+
+ const masterPlaylistPath = VideoPathManager.Instance.getFSHLSOutputPath(video, playlist.playlistFilename)
+ await writeFile(masterPlaylistPath, masterPlaylists.join('\n') + '\n')
+
+ if (playlist.storage === VideoStorage.OBJECT_STORAGE) {
+ playlist.playlistUrl = await storeHLSFileFromFilename(playlist, playlist.playlistFilename)
+ await remove(masterPlaylistPath)
+ }
+
+ return playlist.save()
+ })