From: Chocobozzz Date: Fri, 6 May 2016 12:44:09 +0000 (+0200) Subject: Move video duration logic in lib/ X-Git-Tag: v0.0.1-alpha~957 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0ae6a09d40fd30c86a2e0bd953830020c56045cd;p=oweals%2Fpeertube.git Move video duration logic in lib/ --- diff --git a/server/controllers/api/v1/videos.js b/server/controllers/api/v1/videos.js index e69628961..7fdc50e52 100644 --- a/server/controllers/api/v1/videos.js +++ b/server/controllers/api/v1/videos.js @@ -3,7 +3,6 @@ const config = require('config') const crypto = require('crypto') const express = require('express') -const ffmpeg = require('fluent-ffmpeg') const multer = require('multer') const logger = require('../../../helpers/logger') @@ -61,15 +60,13 @@ function addVideo (req, res, next) { return next(err) } - ffmpeg.ffprobe(video_file.path, function (err, metadata) { + videos.getVideoDuration(video_file.path, function (err, duration) { if (err) { // TODO: unseed the video logger.error('Cannot retrieve metadata of the file') return next(err) } - const duration = Math.floor(metadata.format.duration) - const video_data = { name: video_infos.name, namePath: video_file.filename, diff --git a/server/lib/videos.js b/server/lib/videos.js index 24178561d..43d6c6b99 100644 --- a/server/lib/videos.js +++ b/server/lib/videos.js @@ -2,6 +2,7 @@ const async = require('async') const config = require('config') +const ffmpeg = require('fluent-ffmpeg') const pathUtils = require('path') const webtorrent = require('../lib/webtorrent') @@ -11,11 +12,20 @@ const Videos = require('../models/videos') const uploadDir = pathUtils.join(__dirname, '..', '..', config.get('storage.uploads')) const videos = { + getVideoDuration: getVideoDuration, getVideoState: getVideoState, seed: seed, seedAllExisting: seedAllExisting } +function getVideoDuration (video_path, callback) { + ffmpeg.ffprobe(video_path, function (err, metadata) { + if (err) return callback(err) + + return callback(null, Math.floor(metadata.format.duration)) + }) +} + function getVideoState (video) { const exist = (video !== null) let owned = false