New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 708766 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

SharedMemoryFactory does not clear the SharedMemory it created

Project Member Reported by zijiehe@chromium.org, Apr 5 2017

Issue description

If my understanding is correctly, SharedMemoryFactory does not clear the SharedMemory instance it created.

Usually this is not a big deal, but it impacts DirectX capturer, since it captures monitors one-by-one. Each DxgiOutputDuplicator object does not clear the area out of its scope. Considering the following situation,
 - Two monitors are attaching to the system with same screen resolution, say, 1000x800. The size of the SharedMemory is 2000 x 800
 - Reduce the resolution of the primary monitor, say 800 x 600. The size of the new SharedMemory is 1800 x 800, while the left-bottom 800 x 200 is not controlled by both DxgiOutputDuplicator.
If the SharedMemory is not cleared, this 800 x 200 area may contain random image from previous frame.

This behavior is not consistent: I have reproduced it several times only. But according to the source code, this behavior should be expected.

Since this issue impacts DirectX capturer only, a simple solution is to clear it in DxgiFrame.
 
Status: Fixed (was: Untriaged)
https://codereview.webrtc.org/2827983007/ fixes this issue.

Sign in to add a comment