LVideoDecoderWebCodecs::LVideoDecoderWebCodecs()
{
val VideoDecoder = val::global("VideoDecoder");
if (!VideoDecoder.as<bool>()) {
EM_ASM(
console.error("WebCodecs API not available");
);
}
val config = val::object();
config.set("codec", val("vp8"));
config.set("codedWidth", val(640));
config.set("codedHeight", val(480));
val init = val::object();
init.set("output", [](val frame) {
EM_ASM(
console.log("Got frame: ", frame);
);
});
init.set("error", [](val e) {
EM_ASM(
console.error("Error initializing decoder: ", e);
);
});
val decoder = VideoDecoder.new_(init);
decoder.call<void>("configure", config);
}