From ffd34960de04cbb44984cfbe28f945a5d0d9d5df Mon Sep 17 00:00:00 2001
From: Youenn Fablet Transferable MediaStreamTrack
In a sense, between these steps, the data holder is attached to the underlying source as if it was a track.
Some platforms or User Agents may provide built-in support for background blurring of video frames, in particular for camera video streams. + Web applications may either want to control or at least be aware that background blur is applied at the source level. + This may for instance allow the web application to update its UI or to not apply background blur on its own. + For that reason, we extend {{MediaStreamTrack}} with the following properties. +
+The WebIDL changes are the following: +
+partial dictionary MediaTrackSupportedConstraints { + boolean backgroundBlur = true; +}; + +partial dictionary MediaTrackConstraintSet { + ConstrainBoolean backgroundBlur; +}; + +partial dictionary MediaTrackSettings { + boolean backgroundBlur; +}; + +partial dictionary MediaTrackCapabilities { + sequence<boolean> backgroundBlur; +};+
The configuration (capabilities, constraints or settings) of a {{MediaStreamTrack}} may be changed dynamically + outside the control of web applications. One example is when a user decides to switch on background blur through + the operating system. Web applications might want to know that the configuration + of a particular {{MediaStreamTrack}} has changed. For that purpose, a new event is defined below. +
++partial interface MediaStreamTrack { + attribute EventHandler onconfigurationchange; +};+
+
When the [=User Agent=] detects a change of configuration + in a track's underlying source, the [=User Agent=] MUST queue a task that runs the following steps:
+Update track's capabilities, constraints and settings + according track's underlying source.
+[=Fire an event=] named configurationchanged on track.
+