An API that configures WebRTC encoders to scale input frames if they are greater than the specified maxWidth and maxHeight. This API is similar to scaleResolutionDownBy except that resolution constraints are expressed in absolute terms (e.g. 640x360) as opposed to relative terms (e.g. scale down by 2), avoiding race conditions related to changing input frame size on the fly.
In particular, when simulcast is used to send multiple resolutions (e.g. 720p + 360p), the app may dynamically turn the top layer(s) on and off. Having an API that gives the app a race-free way to adjust the track resolution accordingly can have big performance wins, e.g. video effects processing on a 360p track instead of a 720p track when all we're sending is 360p. The old way to do this "scale down by factor X" is racy when track resolution changes dynamically (e.g. momentarily doing 360p + 180p or temporarily disabling encoding), which is not ideal for receive side quality. Not nice API ergonomics either.
None assuming all browsers implement this, otherwise the app can always fall back to the old way of configuring scaling factors (the scaleResolutionDownBy API)
None
LGTM2
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3fd13984-64b0-4f05-bb8b-50c6a4ae05afn%40chromium.org.
LGTM3
/Daniel
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/905d6d9d-d18c-4335-ac50-d190df742d4f%40chromium.org.