commit | 2aa935684aeb183c5ade32ffc5bd706cd1fc902c | [log] [tgz] |
---|---|---|
author | Trevor Hayes <trevor.axiom@gmail.com> | Thu May 07 20:47:05 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Tue May 12 22:45:05 2020 |
tree | e548f40f329dc615658836675e966203bdc31f9a | |
parent | b856dc15564ba793a40c82d4f00682e7c097eed2 [diff] |
Reset frame queue in ScreenCapturerX11::SelectSource to fix issues with different sized monitors. When Chromium displays the selection dialog for screens it gets the thumbnails by calling SelectSource for the first monitor then CaptureFrame, then SelectSource for the next monitor then CaptureFrame, and so on. With 1 or 2 screens this does not show any issues, but with 3 or more screens the program may crash. The queue of frame buffers is actually just 2 frame buffers that get swapped every time a frame is captured. When you have one monitor both buffers will be sized for it's resolution. When you have two monitor the first buffer is sized for the first monitor and the second buffer for the second monitor. Since the monitors are selected in turn monitors and frame buffers stay matched up and things work fine. With a third monitor the first buffer is sized for the first monitor, but then later reused to capture the third monitor. If the resolution of the third monitor does not match the first we either crash or have extra junk in the frame from when we captured the first monitor. Bug: chromium:396091 Change-Id: I7b5ee914b02fee48c09422cee1e320396c9550c7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174520 Commit-Queue: Jamie Walch <jamiewalch@chromium.org> Reviewed-by: Jamie Walch <jamiewalch@chromium.org> Cr-Commit-Position: refs/heads/master@{#31229}
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.