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

Issue 734313 link

Starred by 4 users

Issue metadata

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



Sign in to add a comment

WebRTC: Working in full Chrome, but not in Webview of same version: The NullVideoDecoder doesn't support decoding.

Reported by kenneth....@appinux.com, Jun 17 2017

Issue description

Steps to reproduce the problem:
1. Perform a meeting from PC to tablet where you are using full version of Chrome on Android - it works the version of full chrome is 58.0.3029.83
2. Perform a meeting from PC to tablet where you are using Android app with a System.Webview - it does not work on quite a few types of devices - but it does on some - System.Webview version is 58.0.3029.83

What is the expected behavior?
Video and meeting should work the same in both full chrome and in Android app

What went wrong?
PC video stream is not rendered in System.Webview

Attached adb logcat Verbose level logs for the full Chrome and the System.Webview

It is working on a few types of devices like

(same chrome version but different Android version)
Samsung Galaxy J1
Android: 5.1.1
Kernel: 3.10.65-7541827
System Webview: 58.0.3029.83
Chrome:  58.0.3029.83

It is consistently not working on 

Samsung Galaxy S6 
Android: 7.0
Kernel: 3.10.61-10958180
System Webview: 58.0.3029.83
Chrome:  58.0.3029.83

Samsung Tab A (SM-T555)
Android: 6.0.1
Kernel: 3.10.49-9331721
System Webview: 58.0.3029.83
Chrome:  58.0.3029.83

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 58.0.3029.83  Channel: stable
OS Version: 6.0.1
Flash Version:
 
LogcatSystemWebView58_0_3029_83.txt
18.1 KB View Download
LogcatChrome58_0_3029_83.txt
18.6 KB View Download
Could this be related to maybe something like 
https://bugs.chromium.org/p/chromium/issues/detail?id=500605

Comment 2 by guidou@chromium.org, Jun 20 2017

Components: -Blink>WebRTC Blink>WebRTC>Video

Comment 3 by guidou@chromium.org, Jun 20 2017

The following line suggests this might be related to H.264 not being supported on WebView:
06-17 10:46:42.360 29962 31529 E chromium: [ERROR:internaldecoderfactory.cc(71)] Unable to create an H.264 decoder fallback. Decoding of this stream will be broken.
Hi Guidou

Thank you for the answer. This has me confused though since we have been seeing a closer and closer integration with Chrome and webview on Android on in the latest Android 7 OTA it seems like the "app" System.Webview is entirely replaced by Chrome, so if the stream plays in Chrome should it not play in webview?

Is there any workarounds for this (apart from changing the codec)?

And how come it works on other devices with the same version of System.Webview?

Thank you in advance
Regards
Kenneth
Owner: pbos@chromium.org
Status: Assigned (was: Unconfirmed)
Hi 

Here is a little  more information about the audio video that we are trying to establish

...
a=sendrecv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtpmap:100 H264/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:102 red/90000
a=rtpmap:127 ulpfec/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=102
...

Please let me know if you need additional information, I can share a testing site and app if needed

Thank you in advance
Regards
Kenneth

Comment 7 by pbos@chromium.org, Jun 21 2017

Cc: niklase@chromium.org pbos@chromium.org deadbeef@chromium.org
Owner: braveyao@chromium.org
braveyao@: You did H264 for Chrome, right?

This title looks misleading to me, I believe the problem is not that the NullVideoDecoder doesn't support decoding, but either that either (1) we don't get any fallback, that (2) hardware decoding doesn't work for WebView or that (3) OpenH264 isn't compiled in. I don't remember if it's compiled in for regular Chrome.

Comment 8 by pbos@chromium.org, Jun 21 2017

That should've read "for Chrome on Android", or  issue 664652 .
I only enabled HW H264 encoding in Chrome on Android. Didn't touch the decoding part, which should work in the past already.

Generally, there is no SW H264 fallback on Android, neither OpenH264 nor FFMpeg. If MediaCodec fails to start, then H264 encoding/decoding will be broken.
So it's strange that on some devices Chrome can work with H264 while WebView will fail, if they are really based on the same code.

kenneth.thorman@, is there any error logs from TAG "cr_MediaCodecUtil" and "cr_MediaCodecBridge"?

braveyao@

Sorry for the delay in answering.

This is the exact same scenario as in the original posting on the same tablet

Samsung Tab A (SM-T555)
Android: 6.0.1
Kernel: 3.10.49-9331721
System Webview: 58.0.3029.83
Chrome:  58.0.3029.83


Chrome works, webview does not.

The adb logcat command was 

adb logcat chromium:V cr_MediaCodecUtil:V cr_MediaCodecBridge:V *:S

Please find attached the 2 logfiles

Regards
Kenneth
chrome.txt
26.1 KB View Download
webview.txt
112 KB View Download
kenneth.thorman@, the logs don't contain any log with TAG cr_MediaCodec*.

No matter HW codec is used or not, at least below logs should be found.

06-23 09:58:11.920  7770  7788 W cr_MediaCodecBridge: calling MediaCodec.release() on OMX.qcom.video.encoder.avc
06-23 09:58:11.937  7770  8913 W cr_MediaCodecBridge: calling MediaCodec.release() on OMX.qcom.video.decoder.vp8

E.g. testing with test page https://webrtc.github.io/samples/src/content/peerconnection/pc1/ in Chrome.

Could you please check again?
Thank you for the assistance and sorry for the long delay. 
This is very odd, this has since started working on all devices just 2 days ago. It is related to the update of chrome to build 60, but now it works and the customers are happy.

I guess this can be closed now.
Status: WontFix (was: Assigned)
Good to know.
Cc: mbonadei@chromium.org henrika@chromium.org tommi@chromium.org magjed@chromium.org pnangunoori@chromium.org braveyao@chromium.org
Issue 801501 has been merged into this issue.

Sign in to add a comment