organism-react-video
Version:
31 lines • 971 B
JavaScript
// @ts-check
import callfunc from "call-func";
var defaultSourceType = 'video/mp4; codecs="avc1.42E01E,mp4a.40.2"';
var getMediaSource = function getMediaSource(_ref) {
var {
url,
onUpdate,
sourceType = defaultSourceType
} = _ref;
var mediaSource = new MediaSource();
mediaSource.addEventListener("sourceopen", function () {
var sourceBuffer = mediaSource.addSourceBuffer(sourceType);
sourceBuffer.addEventListener("updateend", function () {
if (!sourceBuffer.updating && mediaSource.readyState === "open") {
mediaSource.endOfStream();
}
callfunc(onUpdate);
});
fetch(url).then(function (response) {
return response.arrayBuffer();
}).then(function (data) {
// Append the data into the new sourceBuffer.
sourceBuffer.appendBuffer(data);
}).catch(function () {});
}, {
once: true
});
var src = URL.createObjectURL(mediaSource);
return src;
};
export default getMediaSource;