I have a problem with this code and get error Failed to execute appendBuffer on SourceBuffer: This SourceBuffer has been removed from the parent media source.
I try below code! and get same error
const format = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
const mediaSource = new MediaSource();
let sourceBuffer = null;
mediaSource.addEventListener('sourceopen', event => {
sourceBuffer = mediaSource.addSourceBuffer(format);
fetch('https://anneleather.com/videojs/hex.mp4', {method: "GET"})
.then(response => process(response.body.getReader()))
.catch(err => console.error(err));
});
var ul = URL.createObjectURL(mediaSource);
video.src({
type: 'video/mp4',
src: ul
});
console.log(ul);
function process(stream) {
return new Response(
new ReadableStream({
start(controller) {
async function read() {
let {done, value} = await stream.read();
if (done) {
console.log(1);
controller.close();
return;
}
console.log(2);
sourceBuffer.appendBuffer(value);
sourceBuffer.addEventListener(
'updateend', event => read(),
{once: true}
);
}
read();
}
})
);
}
but with this video https://nickdesaulniers.github.io/netfix/demo/frag_bunny.mp4 work perfectly