New issue
Advanced search Search tips

Issue 741770 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Some HW accelerated apps are not captured properly

Reported by zarour.o...@gmail.com, Jul 12 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Steps to reproduce the problem:
1. In a multi display setup, share a HW accelerated application (Microsoft word ,Power point or slack ..).
2. Make sure that the application is on the primary (main) display.
3. Move the shared application close to the task bar or make it maximized. 
4. Share the application through the WebRtc demo page (https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/)
5. try updating the application and see if it gets updated in the stream.

What is the expected behavior?
The HW accelerated application window should be captured correctly as long as there is no window covering it. What we see is "as if" there is a window covering it but there is not.  

What went wrong?
The stream kept the last frame and stopped updating. 

Did this work before? No 

Does this work in other browsers? Yes
 Firefox 

Chrome version: 59.0.3071.115  Channel: stable
OS Version: 10.0
Flash Version: 

Notes:
1. The problem doesn't happen on all display setups and on all laptops.
2. Many of our Yoga 12 (Lenovo) laptops have the issue. Some specs for the laptop are in the attached screen shot. 
3. If of any use, the laptop has built-in Intel graphics card. We noticed that the issue happens on laptops with built-in graphics card.
4. The mouse get captured correctly.
5. This behavior is the same as covering the HW accelerated application window with another window.
6. We tried disabling HW acceleration in Microsoft Word and Excel but it doesn't seem to help. 
7. The list of applications we tried are : Microsoft Power point, Word, Excel and Slack. 
8. On few occasions we noticed that it happened on a single display system that was unhooked from a work station with multiple monitors. 
9. We tested on Chrome 58 and 59 with the same results.
 
HW accelerated apps-capture-bug.mp4
1.6 MB View Download
YogaSpecs.png
21.4 KB View Download
Cc: braveyao@chromium.org
Components: Blink>GetUserMedia>Desktop
Cc: -braveyao@chromium.org
Owner: braveyao@chromium.org
There is not good way to capture Modern UI apps on win10 yet. So we have to crop the desired window out from a screen capture. And this requires the window remains on top.
One possible reason I've noticed is Win10 will think a window is not on top when it's too close to the screen edge or maximized. I suppose the reason is due to the invisible border around the window. So keep the desired window away from any board for at lest 9 pixel. Will it work then?
I know about the restriction of a window should not be covered by another window. But in our case as you see, 1.5-2 inches close to task bar is still causing the issue for sure this is much more than 9 pixels. 
How about left/right side? And how about latest Canary?
I can't reproduce it with Slack on my Win10 laptop(ASUS), with external Monitor connected. Since it may be platform specific, I'll see if I can get a Yoge12 for a test. 
Right and left are OK, only the bottom side of the screen is causing the problem. Thanks!
I'm requesting a Lenovo Yoga laptop. Will continue investigating when I get it.
To my understanding, the possible key replication conditions are:

Lenovo laptop with intel built-in graphic card.
connect an external monitor. (what's the resolution setting on both monitors?)
do the window capture to Slack app on the built-in monitor.
move/expand the bottom of Slack app close to task bar.

zarour.omar@, please help to check if I missed any critical step?
Labels: Needs-Milestone
That would be similar to what we did. Also try Microsoft Word and Excel as they were causing same issues to us.

For the resolution, the monitors of one faulty configuration were:
1) 2 monitors + Yoga
2) the two monitors are exactly the same (1920X1200) and the Yoga is 1920X1080. 

Actually based on the numbers above, the dead area above the task bar almost matches the different in heights (1200-1080 =120 pixels). We haven't exactly measured the height of the dead area height but 120 seems very close!

Hope this helps! 
Status: Assigned (was: Unconfirmed)
So there are 2 external monitors connected to the same laptop, with splitter?

If there is only 1 external monitor directly connected to the laptop, will the issue be reproduced?
I'm wondering if the multiple external monitors setup will be the trigger condition. It seems Windows would still think there is one external monitor. Wondering what's the impact to window capture.
I am working on this. See change https://chromium-review.googlesource.com/c/external/webrtc/+/628244.
Project Member

Comment 12 by bugdroid1@chromium.org, Aug 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/2a47e5dfc8ff9ce2f6b54e05149eb39299ecc92a

commit 2a47e5dfc8ff9ce2f6b54e05149eb39299ecc92a
Author: Zijie He <zijiehe@chromium.org>
Date: Sat Aug 26 01:10:16 2017

Use windows' content rectangles rather than their borders to determine overlapping

If the content area of a window is not covered by the content area of another
window, we do not treat them as overlapping. This can fix the issue that two
fullscreen windows cover each other, or a fullscreen window is covered by the
shadow effect of task bar.

Bug:  chromium:741770 
Change-Id: I92dc636bc8445d50b00390cf3332695f69daf9c6
Reviewed-on: https://chromium-review.googlesource.com/628244
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19532}
[modify] https://crrev.com/2a47e5dfc8ff9ce2f6b54e05149eb39299ecc92a/webrtc/modules/desktop_capture/cropping_window_capturer_win.cc

Status: Fixed (was: Assigned)
Thanks zijiehe@ for the fix.

zarour.omar@, could you please verify it in your environment with Canary?
Thank you everyone. I will test and get back to you. 


Hi, our testing shows the bug still exists. We tried recording the same video attached in this bug and the results was the same.
zarour.omar@, could you please elaborate the reproduction steps a bit more? See the questions in my comment #10. I now get a Yoga machine and still can't reproduce this problem. Maybe because I have only one external monitor?
Tested on Canary 62.0.3198.0 and it’s still happening for me. Attached a new video.

So basically, it happened on different Yoga machines and not only one monitor or 2 monitor configurations. Also some of our customers reported it on different machines (specially when sharing a power point in presentation mode where it fills the whole screen). So again, regarding your Comment#10 , we got cases with single machine and with multi monitors. So I don't think multi monitor is the reason? 
capture-bug.mp4
1.6 MB View Download

Sign in to add a comment