+ const hlsTranscodingPayload: HLSTranscodingPayload = {
+ type: 'new-resolution-to-hls',
+ videoUUID: payload.videoUUID,
+ resolution: payload.resolution,
+ isPortraitMode: payload.isPortraitMode,
+ copyCodecs: payload.copyCodecs,
+ isMaxQuality: payload.isMaxQuality
+ }
+
+ JobQueue.Instance.createJob({ type: 'video-transcoding', payload: hlsTranscodingPayload }, jobOptions)
+
+ return true
+}
+
+async function createLowerResolutionsJobs (
+ video: MVideoFullLight,
+ user: MUserId,
+ videoFileResolution: number,
+ isPortraitMode: boolean,
+ type: 'hls' | 'webtorrent'
+) {
+ // Create transcoding jobs if there are enabled resolutions
+ const resolutionsEnabled = computeResolutionsToTranscode(videoFileResolution, 'vod')
+ const resolutionCreated: number[] = []
+
+ for (const resolution of resolutionsEnabled) {
+ let dataInput: VideoTranscodingPayload
+
+ if (CONFIG.TRANSCODING.WEBTORRENT.ENABLED && type === 'webtorrent') {
+ // WebTorrent will create subsequent HLS job
+ dataInput = {
+ type: 'new-resolution-to-webtorrent',
+ videoUUID: video.uuid,
+ resolution,
+ isPortraitMode
+ }