From cc2abbc320ea66296bf45314a2efb47d16b38374 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 21 Apr 2023 16:31:04 +0200 Subject: Fix next video state after optimize/audio merge --- .../job-builders/transcoding-job-queue-builder.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'server/lib/transcoding/shared/job-builders') diff --git a/server/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts b/server/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts index 7c892718b..c09c6b8ce 100644 --- a/server/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts +++ b/server/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts @@ -76,9 +76,10 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { nextTranscodingSequentialJobPayloads = [ ...nextTranscodingSequentialJobPayloads, ...lowerResolutionJobPayloads ] + const hasChildren = nextTranscodingSequentialJobPayloads.length !== 0 mergeOrOptimizePayload = videoFile.isAudio() - ? this.buildMergeAudioPayload({ videoUUID: video.uuid, isNewVideo }) - : this.buildOptimizePayload({ videoUUID: video.uuid, isNewVideo, quickTranscode }) + ? this.buildMergeAudioPayload({ videoUUID: video.uuid, isNewVideo, hasChildren }) + : this.buildOptimizePayload({ videoUUID: video.uuid, isNewVideo, quickTranscode, hasChildren }) }) } finally { mutexReleaser() @@ -100,7 +101,9 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { const mergeOrOptimizeJob = await this.buildTranscodingJob({ payload: mergeOrOptimizePayload, user }) - return JobQueue.Instance.createSequentialJobFlow(...[ mergeOrOptimizeJob, transcodingJobBuilderJob ]) + await JobQueue.Instance.createSequentialJobFlow(...[ mergeOrOptimizeJob, transcodingJobBuilderJob ]) + + await VideoJobInfoModel.increaseOrCreate(video.uuid, 'pendingTranscode') } // --------------------------------------------------------------------------- @@ -279,15 +282,17 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { private buildMergeAudioPayload (options: { videoUUID: string isNewVideo: boolean + hasChildren: boolean }): MergeAudioTranscodingPayload { - const { videoUUID, isNewVideo } = options + const { videoUUID, isNewVideo, hasChildren } = options return { type: 'merge-audio-to-webtorrent', resolution: DEFAULT_AUDIO_RESOLUTION, fps: VIDEO_TRANSCODING_FPS.AUDIO_MERGE, videoUUID, - isNewVideo + isNewVideo, + hasChildren } } @@ -295,13 +300,15 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { videoUUID: string quickTranscode: boolean isNewVideo: boolean + hasChildren: boolean }): OptimizeTranscodingPayload { - const { videoUUID, quickTranscode, isNewVideo } = options + const { videoUUID, quickTranscode, isNewVideo, hasChildren } = options return { type: 'optimize-to-webtorrent', videoUUID, isNewVideo, + hasChildren, quickTranscode } } -- cgit v1.2.3