Skip to content

Commit

Permalink
Video Thumbnails: Seek to 1s mark in video before capture
Browse files Browse the repository at this point in the history
  • Loading branch information
scottnonnenberg-signal committed Sep 24, 2019
1 parent 9db42bc commit 7ab2d9a
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions js/modules/types/visual_attachment.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ exports.makeVideoScreenshot = ({
new Promise((resolve, reject) => {
const video = document.createElement('video');

function seek() {
video.currentTime = 1.0;
}

function capture() {
const canvas = document.createElement('canvas');
canvas.width = video.videoWidth;
Expand All @@ -91,12 +95,15 @@ exports.makeVideoScreenshot = ({

const image = dataURLToBlobSync(canvas.toDataURL(contentType));

video.removeEventListener('canplay', capture);
video.addEventListener('loadeddata', seek);
video.removeEventListener('seeked', capture);

resolve(image);
}

video.addEventListener('canplay', capture);
video.addEventListener('loadeddata', seek);
video.addEventListener('seeked', capture);

video.addEventListener('error', error => {
logger.error('makeVideoScreenshot error', toLogFormat(error));
reject(error);
Expand Down

0 comments on commit 7ab2d9a

Please sign in to comment.