38 lines
1.2 KiB
TypeScript
38 lines
1.2 KiB
TypeScript
|
import { CONFIG } from '@server/initializers/config.js'
|
||
|
import { MUserId, MVideoFile, MVideoFullLight } from '@server/types/models/index.js'
|
||
|
import { TranscodingJobQueueBuilder, TranscodingRunnerJobBuilder } from './shared/index.js'
|
||
|
|
||
|
export function createOptimizeOrMergeAudioJobs (options: {
|
||
|
video: MVideoFullLight
|
||
|
videoFile: MVideoFile
|
||
|
isNewVideo: boolean
|
||
|
user: MUserId
|
||
|
videoFileAlreadyLocked: boolean
|
||
|
}) {
|
||
|
return getJobBuilder().createOptimizeOrMergeAudioJobs(options)
|
||
|
}
|
||
|
|
||
|
// ---------------------------------------------------------------------------
|
||
|
|
||
|
export function createTranscodingJobs (options: {
|
||
|
transcodingType: 'hls' | 'webtorrent' | 'web-video' // TODO: remove webtorrent in v7
|
||
|
video: MVideoFullLight
|
||
|
resolutions: number[]
|
||
|
isNewVideo: boolean
|
||
|
user: MUserId
|
||
|
}) {
|
||
|
return getJobBuilder().createTranscodingJobs(options)
|
||
|
}
|
||
|
|
||
|
// ---------------------------------------------------------------------------
|
||
|
// Private
|
||
|
// ---------------------------------------------------------------------------
|
||
|
|
||
|
function getJobBuilder () {
|
||
|
if (CONFIG.TRANSCODING.REMOTE_RUNNERS.ENABLED === true) {
|
||
|
return new TranscodingRunnerJobBuilder()
|
||
|
}
|
||
|
|
||
|
return new TranscodingJobQueueBuilder()
|
||
|
}
|