diff options
Diffstat (limited to 'server/lib/transcoding/shared')
-rw-r--r-- | server/lib/transcoding/shared/job-builders/transcoding-job-queue-builder.ts | 19 |
1 files changed, 13 insertions, 6 deletions
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 { | |||
76 | 76 | ||
77 | nextTranscodingSequentialJobPayloads = [ ...nextTranscodingSequentialJobPayloads, ...lowerResolutionJobPayloads ] | 77 | nextTranscodingSequentialJobPayloads = [ ...nextTranscodingSequentialJobPayloads, ...lowerResolutionJobPayloads ] |
78 | 78 | ||
79 | const hasChildren = nextTranscodingSequentialJobPayloads.length !== 0 | ||
79 | mergeOrOptimizePayload = videoFile.isAudio() | 80 | mergeOrOptimizePayload = videoFile.isAudio() |
80 | ? this.buildMergeAudioPayload({ videoUUID: video.uuid, isNewVideo }) | 81 | ? this.buildMergeAudioPayload({ videoUUID: video.uuid, isNewVideo, hasChildren }) |
81 | : this.buildOptimizePayload({ videoUUID: video.uuid, isNewVideo, quickTranscode }) | 82 | : this.buildOptimizePayload({ videoUUID: video.uuid, isNewVideo, quickTranscode, hasChildren }) |
82 | }) | 83 | }) |
83 | } finally { | 84 | } finally { |
84 | mutexReleaser() | 85 | mutexReleaser() |
@@ -100,7 +101,9 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { | |||
100 | 101 | ||
101 | const mergeOrOptimizeJob = await this.buildTranscodingJob({ payload: mergeOrOptimizePayload, user }) | 102 | const mergeOrOptimizeJob = await this.buildTranscodingJob({ payload: mergeOrOptimizePayload, user }) |
102 | 103 | ||
103 | return JobQueue.Instance.createSequentialJobFlow(...[ mergeOrOptimizeJob, transcodingJobBuilderJob ]) | 104 | await JobQueue.Instance.createSequentialJobFlow(...[ mergeOrOptimizeJob, transcodingJobBuilderJob ]) |
105 | |||
106 | await VideoJobInfoModel.increaseOrCreate(video.uuid, 'pendingTranscode') | ||
104 | } | 107 | } |
105 | 108 | ||
106 | // --------------------------------------------------------------------------- | 109 | // --------------------------------------------------------------------------- |
@@ -279,15 +282,17 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { | |||
279 | private buildMergeAudioPayload (options: { | 282 | private buildMergeAudioPayload (options: { |
280 | videoUUID: string | 283 | videoUUID: string |
281 | isNewVideo: boolean | 284 | isNewVideo: boolean |
285 | hasChildren: boolean | ||
282 | }): MergeAudioTranscodingPayload { | 286 | }): MergeAudioTranscodingPayload { |
283 | const { videoUUID, isNewVideo } = options | 287 | const { videoUUID, isNewVideo, hasChildren } = options |
284 | 288 | ||
285 | return { | 289 | return { |
286 | type: 'merge-audio-to-webtorrent', | 290 | type: 'merge-audio-to-webtorrent', |
287 | resolution: DEFAULT_AUDIO_RESOLUTION, | 291 | resolution: DEFAULT_AUDIO_RESOLUTION, |
288 | fps: VIDEO_TRANSCODING_FPS.AUDIO_MERGE, | 292 | fps: VIDEO_TRANSCODING_FPS.AUDIO_MERGE, |
289 | videoUUID, | 293 | videoUUID, |
290 | isNewVideo | 294 | isNewVideo, |
295 | hasChildren | ||
291 | } | 296 | } |
292 | } | 297 | } |
293 | 298 | ||
@@ -295,13 +300,15 @@ export class TranscodingJobQueueBuilder extends AbstractJobBuilder { | |||
295 | videoUUID: string | 300 | videoUUID: string |
296 | quickTranscode: boolean | 301 | quickTranscode: boolean |
297 | isNewVideo: boolean | 302 | isNewVideo: boolean |
303 | hasChildren: boolean | ||
298 | }): OptimizeTranscodingPayload { | 304 | }): OptimizeTranscodingPayload { |
299 | const { videoUUID, quickTranscode, isNewVideo } = options | 305 | const { videoUUID, quickTranscode, isNewVideo, hasChildren } = options |
300 | 306 | ||
301 | return { | 307 | return { |
302 | type: 'optimize-to-webtorrent', | 308 | type: 'optimize-to-webtorrent', |
303 | videoUUID, | 309 | videoUUID, |
304 | isNewVideo, | 310 | isNewVideo, |
311 | hasChildren, | ||
305 | quickTranscode | 312 | quickTranscode |
306 | } | 313 | } |
307 | } | 314 | } |