// Decode an empty chunk -- this will fail synchronously and schedule a
// deferred close, but the message loop continues to the next decode.
decoder.decode(new EncodedVideoChunk({
type: "key",
timestamp: 1000000,
data: new Uint8Array(0)
}));
// Decode a real VP8 frame with flipped type. This starts async decoder
// creation (mDecoderRequest). The deferred close then calls Shutdown()
// which didn't disconnect mDecoderRequest, causing a use-after-reject crash.
if (encodedChunk) {
const buf = new Uint8Array(encodedChunk.byteLength);
encodedChunk.copyTo(buf);
decoder.decode(new EncodedVideoChunk({
type: encodedChunk.type === "key" ? "delta" : "key",
timestamp: encodedChunk.timestamp,
data: buf
}));
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.