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 bei einem DedicatedWorkerGlobalScope
-Objekt eines Workers ausgelöst, wenn ein kodierter Video- oder Audio-Frame zur Verarbeitung durch einen WebRTC Encoded Transform in die Warteschlange gestellt wurde.
Die transformer
-Eigenschaft des Ereignisses gibt einen RTCRtpScriptTransformer
zurück, der den ReadableStream
bereitstellt, auf dem der Frame in die Warteschlange gestellt ist, und einen WritableStream
, wohin der Frame geschrieben werden kann, um ihn wieder in die WebRTC-Pipeline einzuschleusen.
Dieses Ereignis kann nicht abgebrochen werden und löst keine Blasenbildung aus.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
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 mit dem Ereignis assoziierten
RTCRtpScriptTransformer
zurück.
Beispiel
Der folgende Codeausschnitt zeigt einen Handler für das rtctransform
-Ereignis im Worker, der dem globalen Scope mittels addEventListener()
hinzugefügt wird.
Der event.transformer
ist ein RTCRtpScriptTransformer
, das Gegenstück auf der Workerseite 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 kodierter Frame in die Warteschlange des RTCRtpScriptTransformer
gestellt wird und genau einmal, wenn der entsprechende RTCRtpScriptTransformer
erstellt wird. Der Code bestimmt zunächst, welcher Transform angewendet werden soll, basierend auf dem im Optionsparameter übergebenen name
-Wert (dies ermöglicht es, dass RTCRtpScriptTransform
-Instanzen, die den eingehenden und ausgehenden WebRTC-Pipelines hinzugefügt werden, einen einzelnen Worker gemeinsam nutzen). Kodierte Frames werden dann vom Readable-Stream durch den ausgewählten Transform-TransformStream
zu einem Writable-Stream geleitet. Der tatsächliche Transform-Code 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 |
Browser-Kompatibilität
BCD tables only load in the browser