aboutsummaryrefslogblamecommitdiffhomepage
path: root/shared/models/runners/runner-job-update-body.model.ts
blob: ed94bbe63084516595a35b3763c4343f6c35f5b7 (plain) (tree)



























                                                                                                                                     
export interface RunnerJobUpdateBody {
  runnerToken: string
  jobToken: string

  progress?: number
  payload?: RunnerJobUpdatePayload
}

// ---------------------------------------------------------------------------

export type RunnerJobUpdatePayload = LiveRTMPHLSTranscodingUpdatePayload

export interface LiveRTMPHLSTranscodingUpdatePayload {
  type: 'add-chunk' | 'remove-chunk'

  masterPlaylistFile?: Blob | string

  resolutionPlaylistFilename?: string
  resolutionPlaylistFile?: Blob | string

  videoChunkFilename: string
  videoChunkFile?: Blob | string
}

export function isLiveRTMPHLSTranscodingUpdatePayload (value: RunnerJobUpdatePayload): value is LiveRTMPHLSTranscodingUpdatePayload {
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
  return !!(value as LiveRTMPHLSTranscodingUpdatePayload)?.videoChunkFilename
}