diff --git a/src/ContentMessages.js b/src/ContentMessages.js index fd21977108..a0bf75bccf 100644 --- a/src/ContentMessages.js +++ b/src/ContentMessages.js @@ -153,24 +153,17 @@ function loadVideoElement(videoFile) { // Load the file into an html element const video = document.createElement("video"); - const reader = new FileReader(); - reader.onload = function(e) { - video.src = e.target.result; - - // Once ready, returns its size - // Wait until we have enough data to thumbnail the first frame. - video.onloadeddata = function() { - deferred.resolve(video); - }; - video.onerror = function(e) { - deferred.reject(e); - }; + // Wait until we have enough data to thumbnail the first frame. + video.onloadeddata = function() { + URL.revokeObjectURL(video.src); + deferred.resolve(video); }; - reader.onerror = function(e) { + video.onerror = function(e) { deferred.reject(e); }; - reader.readAsDataURL(videoFile); - + + // We don't use readAsDataURL because massive files and b64 don't mix. + video.src = URL.createObjectURL(videoFile); return deferred.promise; }