commit | 33d81a05ebd4d4e3e50be08d64ed944c2f8d42fd | [log] [tgz] |
---|---|---|
author | Sergey Silkin <ssilkin@webrtc.org> | Fri May 08 09:55:02 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Fri May 08 15:10:26 2020 |
tree | 8d044f707564028f264acc5f467254b9b6c0abd1 | |
parent | 2454d85bb64004cdc61412a4f09c23a2e79faeae [diff] |
Keep OpenH264 iMaxBitrate unspecified. Max encoder bitrate in WebRTC and OpenH264 are different settings. In WebRTC it is a cap for encoder target bitrate whilst in OpenH264 it is a peak bitrate. I.e. OpenH264 is allowed to produce bitrate up to iMaxBitrate for short time interval. That is not what WebRTC expects. https://webrtc.googlesource.com/src/+/5ee6967c4edc667688d736c27db6f2e7be00dd0a disabled encoders re-initialization on min/max bitrate change. Reinit of some HW encoders takes hundreds of milliseconds and causes video freeze. I missed that max bitrate is used by OpenH264. This caused regression described in webrtc:11543. This change sets iMaxBitrate=UNSPECIFIED_BIT_RATE (which is the default value). Settings iMaxBitrate=UNSPECIFIED_BIT_RATE disables the frame dropping logic based on that parameter. But the encoder still will drop frames based on buffer fullness, https://source.chromium.org/chromium/chromium/src/+/master:third_party/openh264/src/codec/encoder/core/src/ratectl.cpp;l=806-807 Bug: webrtc:10773, webrtc:11543 Change-Id: I728be49e0df8a0d9a8f4438299e4c7b4c1497a78 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174745 Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31192}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.