[Android][Client] Intermittent failure to display video when connecting |
||||||||
Issue descriptionSome percentage of connections using our M58 Android release candidate build will result in a successful CRD connection but a black screen on the Android client. The host log shows a successful connection and no errors (as does the Android adb output) but no video is shown. M58 branch can sync'd to using this commit: 7503282e3514c85f13effc533f9b3cc1c4b5dc8d^ I suspect this has to do with the recent refactoring of the renderer but haven't investigated that far yet. We need to resolve this issue before we can proceed with the M58 release.
,
Mar 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c99c48fc29b8e104b7552cdac7e28f8534c83bb7 commit c99c48fc29b8e104b7552cdac7e28f8534c83bb7 Author: yuweih <yuweih@chromium.org> Date: Mon Mar 20 22:45:10 2017 [Remoting Android] Fix race condition when initializing JniDisplayHandler Previously weak_ptr_ is initialized after the PostTask call so sometimes initialize() may be called earlier than weak_ptr_ being set, ending up with a renderer_.SetDelegate(nullptr) call. In this case the renderer can't report the dimension of the desktop frame to DesktopCanvas and DesktopCanvas will just send broken transformation matrices, causing the renderer to render only a black screen on the view. This CL swaps two lines in JniDisplayHandler's ctor to fix this bug. I'll make a follow up CL to guard the delegate in the renderer. BUG= 703240 Review-Url: https://codereview.chromium.org/2763773002 Cr-Commit-Position: refs/heads/master@{#458210} [modify] https://crrev.com/c99c48fc29b8e104b7552cdac7e28f8534c83bb7/remoting/client/jni/jni_gl_display_handler.cc
,
Mar 20 2017
This change will only affect the Chrome Remote Desktop Android client and will not affect Chrome browser or any other component.
,
Mar 21 2017
,
Mar 21 2017
Your change meets the bar and is auto-approved for M58. Please go ahead and merge the CL to branch 3029 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5dfef632beb0f174ea1d9822805c90dd44958a30 commit 5dfef632beb0f174ea1d9822805c90dd44958a30 Author: Yuwei Huang <yuweih@chromium.org> Date: Tue Mar 21 21:10:45 2017 [Remoting Android] Fix race condition when initializing JniDisplayHandler Previously weak_ptr_ is initialized after the PostTask call so sometimes initialize() may be called earlier than weak_ptr_ being set, ending up with a renderer_.SetDelegate(nullptr) call. In this case the renderer can't report the dimension of the desktop frame to DesktopCanvas and DesktopCanvas will just send broken transformation matrices, causing the renderer to render only a black screen on the view. This CL swaps two lines in JniDisplayHandler's ctor to fix this bug. I'll make a follow up CL to guard the delegate in the renderer. BUG= 703240 Review-Url: https://codereview.chromium.org/2763773002 Cr-Commit-Position: refs/heads/master@{#458210} (cherry picked from commit c99c48fc29b8e104b7552cdac7e28f8534c83bb7) Review-Url: https://codereview.chromium.org/2768633002 . Cr-Commit-Position: refs/branch-heads/3029@{#342} Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471} [modify] https://crrev.com/5dfef632beb0f174ea1d9822805c90dd44958a30/remoting/client/jni/jni_gl_display_handler.cc
,
Mar 21 2017
The fix will be in 58.0.3029.33 or something. Please verify when it's built. Thanks!
,
Mar 22 2017
I've verified the fix in 58.0.3029.33 using my nexus 5.
,
Mar 23 2017
Confirmed on same build on Nexus 5. Looks good.
,
Apr 24 2017
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by yuweih@chromium.org
, Mar 20 2017