]>
Commit | Line | Data |
---|---|---|
e02643f3 | 1 | import { database as db } from '../../../initializers/database' |
40298b02 | 2 | import { updateVideoToFriends } from '../../friends' |
65fcc311 | 3 | import { logger } from '../../../helpers' |
69818c93 | 4 | import { VideoInstance } from '../../../models' |
40298b02 | 5 | import { VideoResolution } from '../../../../shared' |
227d02fe | 6 | |
f5028693 C |
7 | async function process (data: { videoUUID: string, resolution: VideoResolution }, jobId: number) { |
8 | const video = await db.Video.loadByUUIDAndPopulateAuthorAndPodAndTags(data.videoUUID) | |
9 | // No video, maybe deleted? | |
10 | if (!video) { | |
11 | logger.info('Do not process job %d, video does not exist.', jobId, { videoUUID: video.uuid }) | |
12 | return undefined | |
13 | } | |
14 | ||
15 | await video.transcodeOriginalVideofile(data.resolution) | |
16 | ||
17 | return video | |
227d02fe C |
18 | } |
19 | ||
6fcd19ba | 20 | function onError (err: Error, jobId: number) { |
ad0997ad | 21 | logger.error('Error when transcoding video file in job %d.', jobId, err) |
6fcd19ba | 22 | return Promise.resolve() |
227d02fe C |
23 | } |
24 | ||
6fcd19ba | 25 | function onSuccess (jobId: number, video: VideoInstance) { |
031094f7 C |
26 | if (video === undefined) return undefined |
27 | ||
227d02fe | 28 | logger.info('Job %d is a success.', jobId) |
62326afb | 29 | |
40298b02 C |
30 | const remoteVideo = video.toUpdateRemoteJSON() |
31 | ||
32 | // Now we'll add the video's meta data to our friends | |
33 | return updateVideoToFriends(remoteVideo, null) | |
227d02fe C |
34 | } |
35 | ||
36 | // --------------------------------------------------------------------------- | |
37 | ||
65fcc311 C |
38 | export { |
39 | process, | |
40 | onError, | |
41 | onSuccess | |
42 | } |