]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/job-queue/handlers/video-live-ending.ts
Fix live invalid save replay duration
[github/Chocobozzz/PeerTube.git] / server / lib / job-queue / handlers / video-live-ending.ts
index 55bee0b838b52d3fadae28616df44f90fa5ec3ab..d3c84ce75d6c170c6ada2cec89b79f2b4b2624e0 100644 (file)
@@ -89,7 +89,7 @@ async function saveLive (video: MVideo, live: MVideoLive) {
   hlsPlaylist.VideoFiles = []
 
   const replayFiles = await readdir(replayDirectory)
-  let duration: number
+  let durationDone: boolean
 
   for (const playlistFile of playlistFiles) {
     const playlistPath = join(replayDirectory, playlistFile)
@@ -109,9 +109,11 @@ async function saveLive (video: MVideo, live: MVideoLive) {
       isPortraitMode
     })
 
-    if (!duration) {
+    if (!durationDone) {
       videoWithFiles.duration = await getDurationFromVideoFile(outputPath)
       await videoWithFiles.save()
+
+      durationDone = true
     }
   }
 
@@ -126,7 +128,7 @@ async function saveLive (video: MVideo, live: MVideoLive) {
     await generateVideoMiniature(videoWithFiles, videoWithFiles.getMaxQualityFile(), ThumbnailType.PREVIEW)
   }
 
-  await publishAndFederateIfNeeded(video, true)
+  await publishAndFederateIfNeeded(videoWithFiles, true)
 }
 
 async function cleanupLive (video: MVideo, streamingPlaylist: MStreamingPlaylist) {