Merge pull request #2176 from matrix-org/hs/object-urls-video

Use createObjectURL instead of readAsDataURL for videos
This commit is contained in:
David Baker 2018-10-04 10:31:44 +01:00 committed by GitHub
commit a7beb0ba39
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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;
}