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 descriptionSteps 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:
,
Jun 20 2017
,
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.
,
Jun 20 2017
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
,
Jun 20 2017
,
Jun 21 2017
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
,
Jun 21 2017
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.
,
Jun 21 2017
That should've read "for Chrome on Android", or issue 664652 .
,
Jun 21 2017
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"?
,
Jun 23 2017
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
,
Jun 23 2017
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?
,
Aug 4 2017
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.
,
Aug 4 2017
Good to know.
,
Jan 26 2018
Issue 801501 has been merged into this issue. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by kenneth....@appinux.com
, Jun 17 2017