This SourceBuffer has been removed from the parent media source. error

Viewed 28

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

0 Answers
Related