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

Issue 818529 link

Starred by 9 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature


Show other hotlists

Hotlists containing this issue:
Hotlist-1


Sign in to add a comment

Not falling back to H264 s/w codec implementation (Nexus 9)

Reported by ai...@tokbox.com, Mar 5 2018

Issue description

Steps to reproduce the problem:
1. Use Android Nexus 9 device
2. Instantiate RTCPeerConnection and create offer
3. Observe video codecs included in the offer
(You can use http://output.jsbin.com/nocagos)

What is the expected behavior?
Expected H264 to be included in the offer

What went wrong?
Only the following were included:

a=rtpmap:96 VP8/90000
a=rtpmap:97 rtx/90000
a=rtpmap:98 VP9/90000
a=rtpmap:99 rtx/90000
a=rtpmap:100 red/90000
a=rtpmap:101 rtx/90000
a=rtpmap:102 ulpfec/90000

Did this work before? No 

Does this work in other browsers? Yes

Chrome version: 65.0.3325.85  Channel: beta
OS Version: Android 7.1.1
Flash Version: 

We're aware the Nexus 9's hardware codec implementation (OMX.Nvidia.h264.encoder) is not whitelisted but we suspect that Chrome isn't falling back to using the software codec implementation (OMX.google.h264.encoder) either.

User Agent: Mozilla/5.0 (Linux; Android 7.1.1; Nexus 9 Build/N9F27M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.85 Safari/537.36
 

Comment 1 by ai...@tokbox.com, Mar 5 2018

Works as expected on Firefox with the same device.
Labels: Needs-triage-Mobile
Cc: pnangunoori@chromium.org
Labels: FoundIn-66 Target-67 FoundIn-67 M-65 M-66 M-67 Triaged-Mobile FoundIn-65
Status: Untriaged (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. Similar behavior is observed since Chrome #60.0.3072.0

Steps Followed:
1. Launched the Chrome Browser.
2. Navigate to the URL:  http://output.jsbin.com/nocagos
3. Observed that “H264” component is not displayed.

However for the same Chrome version on Samsung J710 Android 7.0.0 the following value is displayed: a=rtpmap:99 rtx/90000

Chrome versions tested:
60.0.3072.0, 64.0.3282.137(Stable), 67.0.3362.0(Canary)

OS:
Android 7.1.2

Android Devices:
Nexus 9 Build/N2G47Z

This seems to be a Non-Regression issue as same behavior is seen since M60.  Untriaged for further input's on this issue.

Please navigate to below link for log's and screenshot--
go/chrome-androidlogs/818529

Note: H264 component is not displayed for FireFox mobile version.

Thanks!
Components: -Blink>WebRTC Blink>WebRTC>Video

Comment 5 by sprang@chromium.org, Mar 15 2018

Cc: magjed@chromium.org
magjed@ can you triage?

Comment 6 by magjed@chromium.org, Mar 19 2018

Owner: braveyao@chromium.org
Status: Assigned (was: Untriaged)
We have no SW fallback for H264 on Android as far as I know.
Cc: braveyao@chromium.org
Owner: ----
Status: Available (was: Assigned)
True. That's because we don't have SW H264 available on Android so far.

Comment 8 by os...@tokbox.com, Mar 20 2018

IMO, having it, would make interop way simpler for H264. FF has it AFAIK.

Comment 9 by pun...@tokbox.com, Mar 20 2018

H264 software codec is included in Android starting version 6.0 (M) and this encoder has support for larger resolutions. If OMX.google.h264.encoder & OMX.google.h264.decoder were white-listed, we will significantly increase the foot-print of Android devices that support H264 and hence inter-operate with Safari. 
We haven't test it's performance for WebRTC purpose yet. I can take a look if it's a good alternative.

Comment 11 by pun...@tokbox.com, Mar 21 2018

We have tested it with our native Android SDK and have concluded that it is a fairly good alternative on devices that do not have the whitelisted hardware H264 codecs. 
Cc: -braveyao@chromium.org
Labels: -Type-Bug -Target-67 Type-Feature
Owner: braveyao@chromium.org
I did some quick tests again omx.google.h264. 
On latest devices and OS version, i.e. Pixel+O, it works pretty well.
On elder device and OS version, i.e. Nexus9+N, it's worse, not much though, than VP8 with same settings.

Some issues noticed:
- It won't follow out bps setting for BWE, but works with its own strategy. Need more tests with poor network connection.
- It will work in burst some time, especially at beginning.
- Possible interruption. My test app will lost connection at working with omx.google.h264 without obvious reason, while HW h264 and SW VP8 always work well. Need more investigation.

So it looks like a good alternative now, but more working is needed. I'll take a look into it later.  
Assuming this should be bumped to M69?
Labels: -M-65 -M-66
Status: Assigned (was: Available)

Sign in to add a comment