aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/lib/jobs/handlers/video-transcoder.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/lib/jobs/handlers/video-transcoder.ts')
-rw-r--r--server/lib/jobs/handlers/video-transcoder.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/server/lib/jobs/handlers/video-transcoder.ts b/server/lib/jobs/handlers/video-transcoder.ts
new file mode 100644
index 000000000..35db5fb96
--- /dev/null
+++ b/server/lib/jobs/handlers/video-transcoder.ts
@@ -0,0 +1,37 @@
1const db = require('../../../initializers/database')
2import { logger } from '../../../helpers'
3import { addVideoToFriends } from '../../../lib'
4
5function process (data, callback) {
6 db.Video.loadAndPopulateAuthorAndPodAndTags(data.id, function (err, video) {
7 if (err) return callback(err)
8
9 video.transcodeVideofile(function (err) {
10 return callback(err, video)
11 })
12 })
13}
14
15function onError (err, jobId, video, callback) {
16 logger.error('Error when transcoding video file in job %d.', jobId, { error: err })
17 return callback()
18}
19
20function onSuccess (data, jobId, video, callback) {
21 logger.info('Job %d is a success.', jobId)
22
23 video.toAddRemoteJSON(function (err, remoteVideo) {
24 if (err) return callback(err)
25
26 // Now we'll add the video's meta data to our friends
27 addVideoToFriends(remoteVideo, null, callback)
28 })
29}
30
31// ---------------------------------------------------------------------------
32
33export {
34 process,
35 onError,
36 onSuccess
37}