diff --git a/lib/util.js b/lib/util.js index 9f3896d..1870e11 100644 --- a/lib/util.js +++ b/lib/util.js @@ -128,3 +128,23 @@ exports.getHumanTime = function(ms) { return str + ms + ' ms'; }; + +/** + * Converts seconds to format hh:mm:ss + * + * @param {Number} seconds + * @return {String} + */ +exports.formatDuration = function(seconds) { + var parts = []; + parts.push(seconds % 60); + var minutes = Math.floor(seconds / 60); + if (minutes > 0) { + parts.push(minutes % 60) + var hours = Math.floor(minutes / 60); + if (hours > 0) { + parts.push(hours); + } + } + return parts.reverse().join(':'); +}; diff --git a/lib/youtube-dl.js b/lib/youtube-dl.js index efa470c..e654cc8 100644 --- a/lib/youtube-dl.js +++ b/lib/youtube-dl.js @@ -164,23 +164,10 @@ function call(video, args1, args2, options, callback) { */ function filterData(data) { var info = JSON.parse(data); - function formatDuration(duration) { - var parts = []; - parts.push(duration % 60); - var minutes = Math.floor(duration / 60); - if (minutes > 0) { - parts.push(minutes % 60) - var hours = Math.floor(minutes / 60); - if (hours > 0) { - parts.push(hours); - } - } - return parts.reverse().join(':'); - } // Add and process some entries to keep backwards compatibility info.filename = info._filename; - info.duration = formatDuration(info.duration); + info.duration = util.formatDuration(info.duration); info.itag = info.format_id; info.resolution = info.format.split(' - ')[1]; return info;