mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 17:23:59 +00:00
18c4e9ab29
This swaps things around so that received tracks in peer connections have a content principal instead of a null principal initially. This puts an extra requirement on us to not output any frames under the content principal after ALPN has been negotiated with requested privacy, but before this private principal has been signaled to the MediaPipelines. The private principal is signaled from the STS thread, via the main thread, whereas media is consumed directly by MediaPipelines after being received on the STS thread. This patch adds an extra signaling path directly from the STS thread that tells MediaPipelines to make their PrincipalHandle private, and to ignore any data until the private PrincipalHandle is set. It also moves the responsibility of updating the principal of the received MediaStreamTracks from TransceiverImpl to MediaPipeline, so it's all in the same path. This lets all MediaStream and MediaStreamTrack APIs consume received tracks directly after getting exposed to JS without errors. In case privacy is later requested, consumers that have already been set up must handle this on the fly. (They do, in specs and impls) Differential Revision: https://phabricator.services.mozilla.com/D48947 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
audioipc | ||
ffvpx | ||
gmp-clearkey/0.1 | ||
kiss_fft | ||
libaom | ||
libcubeb | ||
libdav1d | ||
libjpeg | ||
libmkv | ||
libnestegg | ||
libogg | ||
libopus | ||
libpng | ||
libsoundtouch | ||
libspeex_resampler | ||
libtheora | ||
libtremor | ||
libvorbis | ||
libvpx | ||
libwebp | ||
libyuv | ||
mp4parse-rust | ||
mtransport | ||
openmax_dl | ||
openmax_il/il112 | ||
psshparser | ||
webrtc | ||
moz.build | ||
update-libjpeg.sh |