forked from jitsi/webrtc
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/squashed e2ee #1
Open
tmoldovan8x8
wants to merge
85
commits into
feature/merged-e2ee
Choose a base branch
from
feature/squashed-e2ee
base: feature/merged-e2ee
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
by updating flag that T1 frame can be referenced when it is encoded rather than when it is sent for encoding. Otherwise when encoder drops T1 frame, configuration for following T2 frame would still try to reference that absent T1 frame leading to invalid references. (cherry picked from commit ba91dbc) Bug: chromium:1168068 Change-Id: I6398275971596b0618bcf9c926f0282f74120976 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202030 Reviewed-by: Philip Eliasson <[email protected]> Commit-Queue: Danil Chapovalov <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33002} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202763 Cr-Commit-Position: refs/branch-heads/4389@{#1} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
DependencyDescriptor and vp9 wrapper understand key frame differently when it comes to the first layer frame with spatial_id>0 This CL adds and use DD's interpretation of the key frame when deciding if DD should be supported going forward. (cherry picked from commit 0be1846) Bug: webrtc:11999, chromium:1169060 Change-Id: I11a809a315e18bd856bb391576c6ea1f427e33be Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202760 Commit-Queue: Danil Chapovalov <[email protected]> Reviewed-by: Erik Språng <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33046} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203263 Cr-Commit-Position: refs/branch-heads/4389@{#2} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
Using WebRTC-VP9-PerformanceFlags and settings a multi-layer config, and then configuring the codec in non-svc mode would cause us to not set the cpu speed in libvpx. For some reason, that could trigger a crash in the encoder. This CL fixes that, and adds new test coverage for the code affected byt the trial. (cherry picked from commit 03eed7c) Bug: chromium:1167353, webrtc:11551 Change-Id: Iddb92fe03fc12bac37717908a8b5df4f3d411bf2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202761 Commit-Queue: Erik Språng <[email protected]> Reviewed-by: Danil Chapovalov <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33051} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203521 Cr-Commit-Position: refs/branch-heads/4389@{jitsi#3} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
TEST: tested on chromium. (cherry picked from commit 49dbad0) No-Try: True Bug: webrtc:12397, chromium:1171206 Change-Id: I1e15605f90e253a6ef61ab7ead8c576a80e8f01b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/203886 Reviewed-by: Jakob Ivarsson <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Reviewed-by: Sam Zackrisson <[email protected]> Commit-Queue: Minyue Li <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33080} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204302 Reviewed-by: Mirko Bonadei <[email protected]> Reviewed-by: Minyue Li <[email protected]> Cr-Commit-Position: refs/branch-heads/4389@{jitsi#4} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
(cherry picked from commit 5c3ff6b) Bug: chromium:1155071,webrtc:12265,chromium:1155477 Change-Id: I9d3119e9cbfdd5d7b41de2ed0f9dec92f7bf753d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202258 Reviewed-by: Per Åhgren <[email protected]> Commit-Queue: Gustaf Ullberg <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33037} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/205280 Reviewed-by: Gustaf Ullberg <[email protected]> Cr-Commit-Position: refs/branch-heads/4389@{jitsi#5} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
The low-latency renderer is activated by the RTP header extension playout-delay if the min value is set to 0 and the max value is set to something greater than 0. According to the specification of the playout-delay header extension it doesn't have to be set for every frame but only if it is changed. The bug that this CL fixes occured if a playout delay had been set previously but some frames without any specified playout-delay were received. In this case max composition delay would not be set and the low-latency renderer algorithm would be disabled for the rest of the session. (cherry picked from commit 0093a38) Bug: chromium:1138888 Change-Id: I12d10715fd5ec29f6ee78296ddfe975d7edab8a9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208581 Reviewed-by: Ilya Nikolaevskiy <[email protected]> Commit-Queue: Johannes Kron <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#33330} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/211000 Cr-Commit-Position: refs/branch-heads/4389@{jitsi#6} Cr-Branched-From: 7acc2d9-refs/heads/master@{#32986}
Looks like getSupportedFocusModes() may return null, despite the documentation stating otherwise.
Avoids this exception: Fatal Exception: java.lang.RuntimeException: Camera is being used after Camera.release() was called at android.hardware.Camera._enableShutterSound(Camera.java) at android.hardware.Camera.updateAppOpsPlayAudio + 1786(Camera.java:1786) at android.hardware.Camera.initAppOps + 598(Camera.java:598) at android.hardware.Camera.(Camera.java:591) at android.hardware.Camera.getEmptyParameters + 2146(Camera.java:2146) at android.hardware.camera2.legacy.LegacyMetadataMapper.createCharacteristics + 151(LegacyMetadataMapper.java:151) at android.hardware.camera2.CameraManager.getCameraCharacteristics + 347(CameraManager.java:347) at org.webrtc.Camera2Enumerator.isSupported + 116(Camera2Enumerator.java:116)
getCameraCharacteristics() may throw IllegalArgumentException: Fatal Exception: java.lang.IllegalArgumentException: supportsCameraApi:2569: Unknown camera ID 1 at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:1119) at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:531) at org.webrtc.Camera2Session.start(Camera2Session.java:304) at org.webrtc.Camera2Session.<init>(Camera2Session.java:296) at org.webrtc.Camera2Session.create(Camera2Session.java:274) at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35) at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.os.HandlerThread.run(HandlerThread.java:67)
Specifically, defer getting the camera index so the error can be reported instead of crashing: Fatal Exception: java.lang.IllegalArgumentException: No such camera: Camera 1, Facing front, Orientation 270 at org.webrtc.Camera1Enumerator.getCameraIndex(Camera1Enumerator.java:170) at org.webrtc.Camera1Capturer.createCameraSession(Camera1Capturer.java:31) at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:65)
StreamConfigurationMap.getOutputSizes() may return null: https://developer.android.com/reference/android/hardware/camera2/params/StreamConfigurationMap#getOutputSizes(java.lang.Class%3CT%3E) Fixes: Fatal Exception: java.lang.NullPointerException: Attempt to get length of null array at org.webrtc.Camera2Enumerator.convertSizes(Camera2Enumerator.java:234) at org.webrtc.Camera2Enumerator.getSupportedSizes(Camera2Enumerator.java:147) at org.webrtc.Camera2Session.findCaptureFormat(Camera2Session.java:325) at org.webrtc.Camera2Session.start(Camera2Session.java:313) at org.webrtc.Camera2Session.<init>(Camera2Session.java:296) at org.webrtc.Camera2Session.create(Camera2Session.java:274) at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35) at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.os.HandlerThread.run(HandlerThread.java:67)
Fatal Exception: java.lang.NullPointerException: Attempt to get length of null array at org.webrtc.Camera2Session$CaptureSessionCallback.chooseStabilizationMode(Camera2Session.java:234) at org.webrtc.Camera2Session$CaptureSessionCallback.onConfigured(Camera2Session.java:172) at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.lambda$onConfigured$0(CallbackProxies.java:53) at android.hardware.camera2.impl.-$$Lambda$CallbackProxies$SessionStateCallbackProxy$soW0qC12Osypoky6AfL3P2-TeDw.run(-.java:4) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:65)
Fatal Exception: java.lang.IllegalArgumentException: connectHelper:1378: Illegal argument to HAL module for camera "0" at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:720) at android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(CameraManager.java:380) at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:542) at android.hardware.camera2.CameraManager.openCamera(CameraManager.java:470) at org.webrtc.Camera2Session.openCamera(Camera2Session.java:351) at org.webrtc.Camera2Session.start(Camera2Session.java:314) at org.webrtc.Camera2Session.<init>(Camera2Session.java:296) at org.webrtc.Camera2Session.create(Camera2Session.java:274) at org.webrtc.Camera2Capturer.createCameraSession(Camera2Capturer.java:35) at org.webrtc.CameraCapturer$5.run(CameraCapturer.java:272) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.os.HandlerThread.run(HandlerThread.java:65)
This reverts commit c1254e8. Fixes non-exported ObjC symbols, see: https://bugs.chromium.org/p/webrtc/issues/detail?id=12408#c9
tmoldovan8x8
pushed a commit
that referenced
this pull request
Apr 19, 2022
To disable dcSCTP and fallback to usrsctp, you can use the field trial WebRTC-DataChannel-Dcsctp/Disabled/ Also remove a hidden no-break space in dcSCTP logging causing issues in some log parsing. (cherry picked from commit 29ff3ef) Bug: chromium:1243702 Change-Id: I46136a8913a6d803a3c63c710f3ed29523e4d773 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251867 Auto-Submit: Florent Castelli <[email protected]> Reviewed-by: Victor Boivie <[email protected]> Reviewed-by: Harald Alvestrand <[email protected]> Commit-Queue: Harald Alvestrand <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#36027} No-Try: True Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252481 Reviewed-by: Victor Boivie <[email protected]> Commit-Queue: Florent Castelli <[email protected]> Cr-Commit-Position: refs/branch-heads/4896@{#1} Cr-Branched-From: 962bf18-refs/heads/main@{#36026}
wudidada
referenced
this pull request
in wudidada/webrtc
Sep 23, 2022
This CL addresses an issue where the desktop appears to freeze after resizing the desktop in a curtained CRD session when using the DXGI capturer. This problem does not reproduce when using the GDI capturer nor does it reproduce when the Windows session is attached to the local console. After digging in, it appears that the DXGI DuplicateOutput API stops providing updated frame data. No errors are returned but yet no data is produced. The problem is that when in this condition, there isn't a good way to discern between this problem and a case where the desktop is actually static. The DxgiDuplicatorController already contains logic to attempt to capture a frame prior to returning success after reinitialization. This logic works fine in the console case and occasionally works in the detached session case. What I noticed in my reproductions was that DXGI would produce a few frames before hanging (usually 1-2 but sometimes 3 or 4). My solution is to check the session state and adjust the number of frames we attempt to capture (I also simplified the wait logic as there was a bug in the time calc and it seemed more complicated than it needed to be). One option considered would be to introduced a new differ class higher up in the stack which would run the GDI and DXGI capturers in parallel (instead of in the fallback configuration as they are today) however that seemed like overkill for this specific issue. (cherry picked from commit 44ff88d) Bug: chromium:1307357 Change-Id: Idba4bb9b2aa7692040344d480be3f0d09b9ce9e9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256214 Reviewed-by: Alexander Cooper <[email protected]> Reviewed-by: Jamie Walch <[email protected]> Commit-Queue: Joe Downing <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#36286} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256701 Reviewed-by: Joe Downing <[email protected]> Commit-Queue: Joe Downing <[email protected]> Cr-Commit-Position: refs/branch-heads/4951@{#1} Cr-Branched-From: 026cfa3-refs/heads/main@{#36222}
tmoldovan8x8
pushed a commit
that referenced
this pull request
Oct 20, 2022
This experiment will tell if we still see the performance gains that we saw with the "bursty slacked pacer" even if we don't apply slack (since the "slack without burst" showed little impact at Stable). The hope is that without slack all quality regressions will go away but that bursting will still provide the desired performance benefits. (cherry picked from commit d34605b) Bug: chromium:1354491 Change-Id: I95f05d040713addaaa1856c8e374a01c27311612 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/272366 Commit-Queue: Henrik Boström <[email protected]> Reviewed-by: Erik Språng <[email protected]> Cr-Original-Commit-Position: refs/heads/main@{#37845} Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273460 Cr-Commit-Position: refs/branch-heads/5249@{#1} Cr-Branched-From: 7aaeb5a-refs/heads/main@{#37825}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.