]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/lib/runners/job-handlers/runner-job-handlers.ts
Support studio transcoding in peertube runner
[github/Chocobozzz/PeerTube.git] / server / lib / runners / job-handlers / runner-job-handlers.ts
CommitLineData
0c9668f7
C
1import { MRunnerJob } from '@server/types/models/runners'
2import { RunnerJobSuccessPayload, RunnerJobType, RunnerJobUpdatePayload } from '@shared/models'
3import { AbstractJobHandler } from './abstract-job-handler'
4import { LiveRTMPHLSTranscodingJobHandler } from './live-rtmp-hls-transcoding-job-handler'
5e47f6ab 5import { VideoEditionTranscodingJobHandler } from './video-edition-transcoding-job-handler'
0c9668f7
C
6import { VODAudioMergeTranscodingJobHandler } from './vod-audio-merge-transcoding-job-handler'
7import { VODHLSTranscodingJobHandler } from './vod-hls-transcoding-job-handler'
8import { VODWebVideoTranscodingJobHandler } from './vod-web-video-transcoding-job-handler'
9
10const processors: Record<RunnerJobType, new() => AbstractJobHandler<unknown, RunnerJobUpdatePayload, RunnerJobSuccessPayload>> = {
11 'vod-web-video-transcoding': VODWebVideoTranscodingJobHandler,
12 'vod-hls-transcoding': VODHLSTranscodingJobHandler,
13 'vod-audio-merge-transcoding': VODAudioMergeTranscodingJobHandler,
5e47f6ab
C
14 'live-rtmp-hls-transcoding': LiveRTMPHLSTranscodingJobHandler,
15 'video-edition-transcoding': VideoEditionTranscodingJobHandler
0c9668f7
C
16}
17
18export function getRunnerJobHandlerClass (job: MRunnerJob) {
19 return processors[job.type]
20}