commit | 2b5f7cb4b34e5d218a3f12e8b04dd537585198c0 | [log] [tgz] |
---|---|---|
author | Henrik Boström <hbos@webrtc.org> | Fri Sep 13 10:23:04 2024 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Sep 13 10:26:34 2024 |
tree | 093f3cc50d310f9d546c923f4922693cf6c87f78 | |
parent | 13e377b804f68aa9c20ea5e449666ea5248e3286 [diff] |
Adjust `requested_resolution` to match frame's aspect ratio. This API should not modify the aspect ratio of the frame, e.g. if the frame is 1280x720 and requested_resolution is 1280x360, the result should be 640x360, not a streched out 1280x360 frame. The spec version of this API calls this "maxWidth" and "maxHeight" which is the right way to think about it rather than a forced width and height. VideoAdapter continues to be used to apply adaptation restrictions, but we now make sure to calculate the correct frame size BEFORE applying restrictions. Prior to this CL, the VideoAdapter was also used to apply requested_resolution restrictions. This is actually wrong and would cause strange scaling factors in some cases, e.g. f=1280x720 + r=720x405 would result in 640x360 instead of 720x405. Now we make f=720x405 first and only adjust further if restrictions or alignments require us to. Since this is a change in behavior a WebRtcVideoChannelTest is updated. Encodings integration test is also added, both for aspect ratio (new behavior) and orientation agnosticism (old behavior still passing). Bug: webrtc:366067962 Change-Id: I4e8dc27da5a84d73238b8ab74ef197eb5ee8072a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/362101 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/main@{#43020}
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.