]>
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 | ||
4077df72 | 25 | async 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 | |
4077df72 C |
30 | // Maybe the video changed in database, refresh it |
31 | const videoDatabase = await db.Video.loadByUUIDAndPopulateAuthorAndPodAndTags(video.uuid) | |
32 | // Video does not exist anymore | |
33 | if (!videoDatabase) return undefined | |
34 | ||
35 | const remoteVideo = videoDatabase.toUpdateRemoteJSON() | |
40298b02 C |
36 | |
37 | // Now we'll add the video's meta data to our friends | |
4077df72 C |
38 | await updateVideoToFriends(remoteVideo, null) |
39 | ||
40 | return | |
227d02fe C |
41 | } |
42 | ||
43 | // --------------------------------------------------------------------------- | |
44 | ||
65fcc311 C |
45 | export { |
46 | process, | |
47 | onError, | |
48 | onSuccess | |
49 | } |