DedicatedWorkerGlobalScope: rtctransform-Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Hinweis: Diese Funktion ist nur in Dedicated Web Workers verfügbar.
Das rtctransform
-Ereignis wird am DedicatedWorkerGlobalScope
-Objekt eines Workers ausgelöst, wenn ein kodiertes Video- oder Audio-Frame zur Verarbeitung durch einen WebRTC Encoded Transform bereitgestellt wurde.
Die transformer
-Eigenschaft des Ereignisses gibt einen RTCRtpScriptTransformer
zurück, der den ReadableStream
bereitstellt, auf dem das Frame in die Queue gestellt wird, sowie einen WritableStream
, auf den das Frame geschrieben werden kann, um es wieder in die WebRTC-Pipeline zu injizieren.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht gebubbelt.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder legen Sie eine Ereignisbehandlereigenschaft fest.
addEventListener("rtctransform", (event) => { })
onrtctransform = (event) => { }
Ereignistyp
Ein RTCTransformEvent
. Erbt von Event
.
Ereigniseigenschaften
Diese Schnittstelle erbt auch Eigenschaften von ihrem Elternteil, Event
.
RTCTransformEvent.transformer
Schreibgeschützt-
Gibt den
RTCRtpScriptTransformer
zurück, der mit dem Ereignis verknüpft ist.
Beispiel
Der folgende Codeausschnitt zeigt einen Handler für das rtctransform
-Ereignis im Worker, der mithilfe von addEventListener()
zum globalen Scope hinzugefügt wurde.
Das event.transformer
ist ein RTCRtpScriptTransformer
, das Gegenstück auf der Worker-Seite zu RTCRtpScriptTransform
.
addEventListener("rtctransform", (event) => {
let transform;
// Select a transform based on passed options
if (event.transformer.options.name == "senderTransform")
transform = createSenderTransform(); // A TransformStream
else if (event.transformer.options.name == "receiverTransform")
transform = createReceiverTransform(); // A TransformStream
else return;
// Pipe frames from the readable to writeable through TransformStream
event.transformer.readable
.pipeThrough(transform)
.pipeTo(event.transformer.writable);
});
Das rtctransform
-Ereignis wird ausgelöst, wenn ein kodiertes Frame in die Queue des RTCRtpScriptTransformer
eingestellt wird, und nur einmal, wenn der entsprechende RTCRtpScriptTransformer
konstruiert wird.
Der Code ermittelt zunächst, welche Transformation angewendet werden soll, basierend auf dem name
-Wert, der in den Optionen übergeben wird (dies ermöglicht, dass RTCRtpScriptTransform
-Instanzen, die zu den eingehenden und ausgehenden WebRTC-Pipelines hinzugefügt wurden, einen einzigen Worker teilen).
Kodierte Frames werden dann von dem lesbaren Stream, durch den ausgewählten Transformations-TransformStream
, zu einem beschreibbaren Stream geleitet.
Der eigentliche Transformationscode wird nicht gezeigt.
Beachten Sie, dass dieser Code Teil eines umfassenderen Beispiels ist, das in Verwendung von WebRTC Encoded Transforms bereitgestellt wird.
Spezifikationen
Specification |
---|
WebRTC Encoded Transform # dom-dedicatedworkerglobalscope-onrtctransform |