fixes for mov videos
parent
22d4199fdd
commit
b12488feaf
|
@ -3,20 +3,16 @@ import { env } from '../env/index';
|
||||||
export function bufferToVideo(buf: Blob): Promise<HTMLVideoElement> {
|
export function bufferToVideo(buf: Blob): Promise<HTMLVideoElement> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));
|
if (!(buf instanceof Blob)) reject(new Error('bufferToVideo - expected buf to be of type: Blob'));
|
||||||
const reader = new FileReader();
|
|
||||||
reader.onload = () => {
|
|
||||||
if (typeof reader.result !== 'string') reject(new Error('bufferToVideo - expected reader.result to be a string, in onload'));
|
|
||||||
const video = env.getEnv().createVideoElement();
|
const video = env.getEnv().createVideoElement();
|
||||||
video.onloadstart = () => {
|
video.onloadstart = () => {
|
||||||
setTimeout(() => resolve(video), 100);
|
setTimeout(() => resolve(video), 100);
|
||||||
};
|
};
|
||||||
video.onerror = reject;
|
video.onerror = reject;
|
||||||
// video.type = 'video/mp4';
|
video.type = buf.type;
|
||||||
|
video.playsInline = true;
|
||||||
video.autoplay = true;
|
video.autoplay = true;
|
||||||
video.muted = true;
|
video.muted = true;
|
||||||
video.src = reader.result as string;
|
video.src = URL.createObjectURL(buf);
|
||||||
};
|
|
||||||
reader.onerror = reject;
|
|
||||||
reader.readAsDataURL(buf);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue