]>
Commit | Line | Data |
---|---|---|
1 | import { MRunnerJob } from '@server/types/models/runners' | |
2 | import { RunnerJobSuccessPayload, RunnerJobType, RunnerJobUpdatePayload } from '@shared/models' | |
3 | import { AbstractJobHandler } from './abstract-job-handler' | |
4 | import { LiveRTMPHLSTranscodingJobHandler } from './live-rtmp-hls-transcoding-job-handler' | |
5 | import { VideoEditionTranscodingJobHandler } from './video-edition-transcoding-job-handler' | |
6 | import { VODAudioMergeTranscodingJobHandler } from './vod-audio-merge-transcoding-job-handler' | |
7 | import { VODHLSTranscodingJobHandler } from './vod-hls-transcoding-job-handler' | |
8 | import { VODWebVideoTranscodingJobHandler } from './vod-web-video-transcoding-job-handler' | |
9 | ||
10 | const 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, | |
14 | 'live-rtmp-hls-transcoding': LiveRTMPHLSTranscodingJobHandler, | |
15 | 'video-edition-transcoding': VideoEditionTranscodingJobHandler | |
16 | } | |
17 | ||
18 | export function getRunnerJobHandlerClass (job: MRunnerJob) { | |
19 | return processors[job.type] | |
20 | } |