1
0
Fork 0
peertube/shared/models/runners/runner-job-success-body.model.ts
Chocobozzz ab14f0e0dc Prefer video studio instead of video edition
Clearer and easier to find in the project
2023-05-09 08:57:34 +02:00

46 lines
1.2 KiB
TypeScript

export interface RunnerJobSuccessBody {
runnerToken: string
jobToken: string
payload: RunnerJobSuccessPayload
}
// ---------------------------------------------------------------------------
export type RunnerJobSuccessPayload =
VODWebVideoTranscodingSuccess |
VODHLSTranscodingSuccess |
VODAudioMergeTranscodingSuccess |
LiveRTMPHLSTranscodingSuccess |
VideoStudioTranscodingSuccess
export interface VODWebVideoTranscodingSuccess {
videoFile: Blob | string
}
export interface VODHLSTranscodingSuccess {
videoFile: Blob | string
resolutionPlaylistFile: Blob | string
}
export interface VODAudioMergeTranscodingSuccess {
videoFile: Blob | string
}
export interface LiveRTMPHLSTranscodingSuccess {
}
export interface VideoStudioTranscodingSuccess {
videoFile: Blob | string
}
export function isWebVideoOrAudioMergeTranscodingPayloadSuccess (
payload: RunnerJobSuccessPayload
): payload is VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess {
return !!(payload as VODHLSTranscodingSuccess | VODAudioMergeTranscodingSuccess)?.videoFile
}
export function isHLSTranscodingPayloadSuccess (payload: RunnerJobSuccessPayload): payload is VODHLSTranscodingSuccess {
return !!(payload as VODHLSTranscodingSuccess)?.resolutionPlaylistFile
}