You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
1.3 KiB
TypeScript
23 lines
1.3 KiB
TypeScript
import { RunnerJobSuccessPayload, RunnerJobType, RunnerJobUpdatePayload } from '@peertube/peertube-models'
|
|||
import { MRunnerJob } from '@server/types/models/runners/index.js'
|
|||
import { AbstractJobHandler } from './abstract-job-handler.js'
|
|||
import { LiveRTMPHLSTranscodingJobHandler } from './live-rtmp-hls-transcoding-job-handler.js'
|
|||
import { TranscriptionJobHandler } from './transcription-job-handler.js'
|
|||
import { VideoStudioTranscodingJobHandler } from './video-studio-transcoding-job-handler.js'
|
|||
import { VODAudioMergeTranscodingJobHandler } from './vod-audio-merge-transcoding-job-handler.js'
|
|||
import { VODHLSTranscodingJobHandler } from './vod-hls-transcoding-job-handler.js'
|
|||
import { VODWebVideoTranscodingJobHandler } from './vod-web-video-transcoding-job-handler.js'
|
|||
|
|||
const processors: Record<RunnerJobType, new() => AbstractJobHandler<unknown, RunnerJobUpdatePayload, RunnerJobSuccessPayload>> = {
|
|||
'vod-web-video-transcoding': VODWebVideoTranscodingJobHandler,
|
|||
'vod-hls-transcoding': VODHLSTranscodingJobHandler,
|
|||
'vod-audio-merge-transcoding': VODAudioMergeTranscodingJobHandler,
|
|||
'live-rtmp-hls-transcoding': LiveRTMPHLSTranscodingJobHandler,
|
|||
'video-studio-transcoding': VideoStudioTranscodingJobHandler,
|
|||
'video-transcription': TranscriptionJobHandler
|
|||
}
|
|||
|
|||
export function getRunnerJobHandlerClass (job: MRunnerJob) {
|
|||
return processors[job.type]
|
|||
}
|