Firefox will scale (downsize) the WebRTC / getUserMedia video if it detects that the system processor is overloaded. There are several prefixes in: config that control this behavior, but are not controlled through JS.
You can disable this feature by setting
media.navigator.load_adapt = false
You can see other flags of media.navigator.load_adapt. * for some control over the behavior. By default, you will get scaling if the processor is tied more than 90% in 3 seconds.
source share