]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/lib/jobs/handlers/video-transcoder.ts
Type functions
[github/Chocobozzz/PeerTube.git] / server / lib / jobs / handlers / video-transcoder.ts
CommitLineData
e02643f3 1import { database as db } from '../../../initializers/database'
65fcc311
C
2import { logger } from '../../../helpers'
3import { addVideoToFriends } from '../../../lib'
69818c93 4import { VideoInstance } from '../../../models'
227d02fe 5
69818c93 6function process (data: { id: string }, callback: (err: Error, videoInstance?: VideoInstance) => void) {
62326afb 7 db.Video.loadAndPopulateAuthorAndPodAndTags(data.id, function (err, video) {
227d02fe
C
8 if (err) return callback(err)
9
62326afb
C
10 video.transcodeVideofile(function (err) {
11 return callback(err, video)
12 })
227d02fe
C
13 })
14}
15
69818c93 16function onError (err: Error, jobId: number, video: VideoInstance, callback: () => void) {
227d02fe
C
17 logger.error('Error when transcoding video file in job %d.', jobId, { error: err })
18 return callback()
19}
20
69818c93 21function onSuccess (data: any, jobId: number, video: VideoInstance, callback: (err: Error) => void) {
227d02fe 22 logger.info('Job %d is a success.', jobId)
62326afb
C
23
24 video.toAddRemoteJSON(function (err, remoteVideo) {
25 if (err) return callback(err)
26
27 // Now we'll add the video's meta data to our friends
65fcc311 28 addVideoToFriends(remoteVideo, null, callback)
62326afb 29 })
227d02fe
C
30}
31
32// ---------------------------------------------------------------------------
33
65fcc311
C
34export {
35 process,
36 onError,
37 onSuccess
38}