aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib')
-rw-r--r--server/lib/job-queue/handlers/video-live-ending.ts19
-rw-r--r--server/lib/live/live-manager.ts1
2 files changed, 12 insertions, 8 deletions
diff --git a/server/lib/job-queue/handlers/video-live-ending.ts b/server/lib/job-queue/handlers/video-live-ending.ts
index 7607267f8..feec257fc 100644
--- a/server/lib/job-queue/handlers/video-live-ending.ts
+++ b/server/lib/job-queue/handlers/video-live-ending.ts
@@ -45,13 +45,13 @@ async function processVideoLiveEnding (job: Job) {
45 LiveSegmentShaStore.Instance.cleanupShaSegments(liveVideo.uuid) 45 LiveSegmentShaStore.Instance.cleanupShaSegments(liveVideo.uuid)
46 46
47 if (live.saveReplay !== true) { 47 if (live.saveReplay !== true) {
48 return cleanupLiveAndFederate({ live, video: liveVideo }) 48 return cleanupLiveAndFederate({ live, video: liveVideo, streamingPlaylistId: payload.streamingPlaylistId })
49 } 49 }
50 50
51 if (live.permanentLive) { 51 if (live.permanentLive) {
52 await saveReplayToExternalVideo({ liveVideo, liveSession, publishedAt: payload.publishedAt, replayDirectory: payload.replayDirectory }) 52 await saveReplayToExternalVideo({ liveVideo, liveSession, publishedAt: payload.publishedAt, replayDirectory: payload.replayDirectory })
53 53
54 return cleanupLiveAndFederate({ live, video: liveVideo }) 54 return cleanupLiveAndFederate({ live, video: liveVideo, streamingPlaylistId: payload.streamingPlaylistId })
55 } 55 }
56 56
57 return replaceLiveByReplay({ liveVideo, live, liveSession, replayDirectory: payload.replayDirectory }) 57 return replaceLiveByReplay({ liveVideo, live, liveSession, replayDirectory: payload.replayDirectory })
@@ -233,15 +233,18 @@ async function assignReplayFilesToVideo (options: {
233async function cleanupLiveAndFederate (options: { 233async function cleanupLiveAndFederate (options: {
234 live: MVideoLive 234 live: MVideoLive
235 video: MVideo 235 video: MVideo
236 streamingPlaylistId: number
236}) { 237}) {
237 const { live, video } = options 238 const { live, video, streamingPlaylistId } = options
238 239
239 const streamingPlaylist = await VideoStreamingPlaylistModel.loadHLSPlaylistByVideo(video.id) 240 const streamingPlaylist = await VideoStreamingPlaylistModel.loadWithVideo(streamingPlaylistId)
240 241
241 if (live.permanentLive) { 242 if (streamingPlaylist) {
242 await cleanupPermanentLive(video, streamingPlaylist) 243 if (live.permanentLive) {
243 } else { 244 await cleanupPermanentLive(video, streamingPlaylist)
244 await cleanupNormalLive(video, streamingPlaylist) 245 } else {
246 await cleanupNormalLive(video, streamingPlaylist)
247 }
245 } 248 }
246 249
247 try { 250 try {
diff --git a/server/lib/live/live-manager.ts b/server/lib/live/live-manager.ts
index 0f14a6851..f2f064b49 100644
--- a/server/lib/live/live-manager.ts
+++ b/server/lib/live/live-manager.ts
@@ -416,6 +416,7 @@ class LiveManager {
416 : undefined, 416 : undefined,
417 417
418 liveSessionId: liveSession.id, 418 liveSessionId: liveSession.id,
419 streamingPlaylistId: fullVideo.getHLSPlaylist()?.id,
419 420
420 publishedAt: fullVideo.publishedAt.toISOString() 421 publishedAt: fullVideo.publishedAt.toISOString()
421 } 422 }