[Android]Only part of the remote video is displayed on a mobile device with hardware acceleration |
||||
Issue descriptionThis is firstly reported in https://github.com/webrtc/apprtc/issues/511. Here is an easy way to reproduce it: 1. Test with Chrome(any version) on two Android devices. 2. Join same room of apprtc demo, with url: https://appr.tc/?vsc=vp8&vrc=vp8&hd=true, to establish a video call between the two devices. 3. Wait for a while, most probably the frame size will be scaled down from 1280x720 to 960x540 to 640x360, due to limitation of CPU and network. 4. Then you will see that the remote view of each peer can only show part of the image. The more frame size scaled down, the less image you'll see. If you disable the HW decoding in chrome://flags, #disable-webrtc-hw-decoding, then this problem can't be reproduced.
,
Dec 12 2017
Hmm, I don't see anything different in how RTCVideoDecoder::PictureReady() is packaging video frames relative to GpuVideoDecoder. They both seem to pull the coded_size from the picture buffer. It's possible both have issues with this case then. =>liberato for a further look. Might also be a good bug for tmathmeyer@.
,
Dec 12 2017
If VideoFrame is created with visible_rect.size(), instead of pictureBuffer.size() in RTCVideoDecoder::PictureReady(), then the problem won't happen any more. So the root reason is the picture size in picture_buffer isn't updated to the new decoded size, I suppose.
,
Dec 12 2017
c#3: yeah, i also suspect that it's just plain wrong everywhere. i remember that we had code to update the picture buffer size in the renderer, but maybe it isn't working anymore.
,
Dec 13 2017
i tried to replicate this yesterday, but couldn't get it to lower the resolution (but it did crash my phone!). i suspect that RTCVideoDecoder isn't checking for size_changed properly when a PictureBuffer arrives. GpuVideoDecoder handles this case specially. tmathmeyer@ agreed to pick this one up.
,
Jan 9 2018
For some reason my rebase has played some tricks on the chromiumreview server and it didn't post a message here on merge: https://chromium-review.googlesource.com/c/chromium/src/+/853113 regardless, I am closing this bug now.
,
Jan 9 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by braveyao@chromium.org
, Dec 12 2017Owner: dalecur...@chromium.org
Status: Available (was: Untriaged)