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

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2015
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 443151



Sign in to add a comment
link

Issue 485482: Video not playing on www.ro.me

Reported by siva.gun...@samsung.com, May 7 2015 Project Member

Issue description

Version:TOT
OS: Android 5.1
Model: Nexus 7

What steps will reproduce the problem?
1.Open www.ro.me
2.Press begin button, content gets loaded.
3.Audio is playing in back ground, no video frames appears.

What is the expected output? What do you see instead?
Video and audio should play simultaneously.
 

Comment 1 by siva.gun...@samsung.com, May 7 2015

Summary: Video not playing on www.ro.me (was: Video doesn't appear on www.ro.me)

Comment 2 by siva.gun...@samsung.com, May 7 2015

Cc: amogh.bi...@samsung.com

Comment 3 by aska...@chromium.org, May 7 2015

Owner: qin...@chromium.org
Status: Assigned

Comment 4 by aska...@chromium.org, May 7 2015

Labels: triaged

Comment 5 by qin...@chromium.org, May 7 2015

The video is painted onto a canvas and the cross-origin issue happens.

Here is the logcat:
"Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The video element contains cross-origin data, and may not be loaded.", source: http://1-ps.googleusercontent.com/xk/DJfygjpNK-8QfSP-BcrmT25ZdO/s.radicalvid.appspot.com/www.ro.me/main.min.js.pagespeed.jm.jOa79BgQ06t1_8ktfVeb.js (5)

Comment 6 by kbr@chromium.org, May 7 2015

Should this not be fixed in Jellybean? The content loads fine on desktop Chrome so this sounds like the cross-origin issue that affected earlier Chrome releases.

Comment 7 by qin...@chromium.org, May 7 2015

I think this should be a separate issue.

The previous issue should be resolved on L, as we did an android version check in WebMediaPlayerAndroid::hasSingleSecurityOrigin().

Comment 8 by kbr@chromium.org, May 7 2015

Sorry, I meant Lollipop. Thanks for the correction.

Could you please dig a little deeper here? Does the page fail to set the crossorigin attribute on the video element when running on Chrome on Android?

Comment 9 by qin...@chromium.org, May 8 2015

ok, got my hands on a nexus-5 with L. I no longer saw the cross-origin issue. The issue is related to the GL commands. here is what i saw in the logcat:

I/chromium(16534): [INFO:CONSOLE(0)] "WebGL: INVALID_VALUE: bufferData: no data", source: http://www.ro.me/film (0)
E/chromium(16697): [ERROR:gles2_cmd_decoder.cc(4735)] [.WebGLRenderingContext-0x9bff3300]GL ERROR :GL_INVALID_OPERATION : glGenerateMipmap: Can not generate mips
E/chromium(16697): [ERROR:gles2_cmd_decoder.cc(6693)] [.WebGLRenderingContext-0x9bff3300]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
I/chromium(16534): [INFO:CONSOLE(0)] "[.WebGLRenderingContext-0x9bff3300]GL ERROR :GL_INVALID_OPERATION : glGenerateMipmap: Can not generate mips", source: http://www.ro.me/film (0)
I/chromium(16534): [INFO:CONSOLE(0)] "[.WebGLRenderingContext-0x9bff3300]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.", source: http://www.ro.me/film (0)

Comment 10 by qin...@chromium.org, May 8 2015

Cc: zmo@chromium.org
Owner: kbr@chromium.org
kbr@, do we need to blacklist some gpu features on mobile?

Comment 11 by kbr@chromium.org, May 8 2015

Owner: qin...@chromium.org
No, WebGL on desktop and mobile should have the same behavior with regard to non-power-of-two textures. WebGL does not expose any extensions allowing full non-power-of-two support on desktop. Could you please continue debugging this?

Comment 12 by kbr@chromium.org, May 12 2015

Blocking: chromium:443151

Comment 13 by bugdroid1@chromium.org, May 13 2015

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da4ca3a7643509d64f53529fdb63af6a219aee07

commit da4ca3a7643509d64f53529fdb63af6a219aee07
Author: qinmin <qinmin@chromium.org>
Date: Wed May 13 00:05:47 2015

stop passing |level| to WebGraphicsContext3D

|level| is no longer used as a result of  crbug.com/443151 .
So currently video canvas painting is broken as the call has an empty implementation.

BUG= 485482 

Review URL: https://codereview.chromium.org/1138343004

Cr-Commit-Position: refs/heads/master@{#329533}

[modify] http://crrev.com/da4ca3a7643509d64f53529fdb63af6a219aee07/content/renderer/media/android/webmediaplayer_android.cc

Comment 14 by kbr@chromium.org, Jun 1 2015

Cc: skyos...@chromium.org dongseon...@intel.com qin...@chromium.org
 Issue 494620  has been merged into this issue.

Comment 15 by kbr@chromium.org, Jun 1 2015

Labels: M-43 Merge-Request-43
Status: Fixed
I'd like to request that https://codereview.chromium.org/1138343004 be merged back to M43. The fix is one line and fixes several web sites that use video with WebGL.

Comment 16 by pennymac@google.com, Jun 1 2015

Labels: -Merge-Request-43 Merge-Review-43 Hotlist-Merge-Review
[Automated comment] Request affecting a post-stable build (M43), manual review required.

Comment 17 by laforge@google.com, Jun 2 2015

Labels: -Merge-Review-43 Merge-Approved-43

Comment 18 by bugdroid1@chromium.org, Jun 3 2015

Project Member
Labels: -Merge-Approved-43 merge-merged-2357
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83c6571b44023a6aacd18cc35c8731c9fa4aa1f9

commit 83c6571b44023a6aacd18cc35c8731c9fa4aa1f9
Author: Kenneth Russell <kbr@chromium.org>
Date: Wed Jun 03 00:00:10 2015

stop passing |level| to WebGraphicsContext3D

|level| is no longer used as a result of  crbug.com/443151 .
So currently video canvas painting is broken as the call has an empty implementation.

BUG= 485482 

Review URL: https://codereview.chromium.org/1138343004

Cr-Commit-Position: refs/heads/master@{#329533}
(cherry picked from commit da4ca3a7643509d64f53529fdb63af6a219aee07)

R=sievers@chromium.org

Review URL: https://codereview.chromium.org/1162713003

Cr-Commit-Position: refs/branch-heads/2357@{#457}
Cr-Branched-From: 59d4494849b405682265ed5d3f5164573b9a939b-refs/heads/master@{#323860}

[modify] http://crrev.com/83c6571b44023a6aacd18cc35c8731c9fa4aa1f9/content/renderer/media/android/webmediaplayer_android.cc

Comment 19 by das.kula...@samsung.com, Nov 19 2015

This issue is reproducing again in Chrome and Chrome beta on Android.
Model : Nexus 5
Chrome Beta version : 47.0.2526.61
Chrome version : 46.0.2490.76
Android Version : 6.0 

Model : Galaxy S6
Chrome Version : 44.0.2403.128
Android version: 5.1

Comment 20 by kbr@chromium.org, Nov 19 2015

#19: I see that www.ro.me doesn't load on a Nexus 5, Nexus 5X or Nexus 9 right now with either Chrome Stable or Chrome Dev, but it appears to be a different problem -- a lot of net::ERR_CONTENT_DECODING_FAILED errors are reported while loading the models and the demo doesn't start correctly. If you want to file a new bug about this please feel free, but given that this has been broken for months and no other sites seem affected I don't think it'll be high priority.

Comment 21 by electrot...@gmail.com, Jan 4 2016

Hi there I'm wondering on a status of this. I am referring to the other ticket also #494620

I've made a jsfiddle out of the example on that page after adding in the CORS to even make it work. Its using the raw webgl functions for a video texture. I have even added a POW function to modify the texture dimensions. 

https://jsfiddle.net/qqcdjz6a/1/

What I'm experiencing in Chrome Dev 49.0.2592.3 and Chrome Beta 48 is the texture is completely broken rather than black. It actually draws into the area some cache graphics from the gpu it seems at times I see text. 

I have exactly the same issue when drawing the video to a canvas using drawImage. I tried to find out how to report this elsewhere. Because of this huge bug, video captures to canvas that is not webgl related does not work either. 

I am running Android 4.4.2 in Xamarin Player and I have 4.3 on a Samsung S3 and same problem. The production Chrome crashes in the emulator so I can't check that. 

I get errors like 

[.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
15(index):1 [.CommandBufferContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
3(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
intercom.be260638.js:3 XHR finished loading: POST "https://api-ping.intercom.io/ping".send @ intercom.be260638.js:3le.extend.ajax @ intercom.be260638.js:3e.exports @ intercom.be260638.js:15u.post @ intercom.be260638.js:15o.extend._post @ intercom.be260638.js:15o.extend.createOrUpdateUser @ intercom.be260638.js:15i.createOrUpdateUser @ intercom.be260638.js:15i.throttledCreateOrUpdateUser @ intercom.be260638.js:15a.extend.createOrUpdateUser @ intercom.be260638.js:7a.extend.initialize @ intercom.be260638.js:7(anonymous function) @ intercom.be260638.js:1t @ intercom.be260638.js:1i @ intercom.be260638.js:1(anonymous function) @ intercom.be260638.js:1t @ intercom.be260638.js:1(anonymous function) @ intercom.be260638.js:1(anonymous function) @ intercom.be260638.js:1
2(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
25(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
2(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
17(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
16(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
12(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
35(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
12(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
63(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
17(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
13(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glTexImage2D: <- error from previous GL command
10(index):1 [.CommandBufferContext]GL ERROR :GL_INVALID_OPERATION : glFramebufferTexture2D: <- error from previous GL command
(index):1 WebGL: too many errors, no more errors will be reported to the console for this context.

Screenshots appplied.

Comment 22 by electrot...@gmail.com, Jan 4 2016

The attatchments of what I see. I can see it flickering so there is some kind of texture change also. 

Stock browser does not even work and it lacks CORS and won't even work with the proxy workaround.

 Only working browser so far on Android is Firefox.
chromebeta.png
283 KB View Download
Screen Shot 2016-01-05 at 2.37.38 am.png
219 KB View Download
chromedev.png
361 KB View Download
Screen Shot 2016-01-04 at 3.41.16 am.png
211 KB View Download

Comment 23 by kbr@chromium.org, Jan 5 2016

#21: your test works fine for me on a Nexus 5X running Chrome 49.0.2592.2 (Official Build) dev (64-bit).

Please file new bugs and reference this one if you can reproduce the problem you report on more devices. Please feel free to email me the bug ID so we can link them together properly.

Comment 24 by electrot...@gmail.com, Jan 15 2016

Hi , I just checked properly. Ive tried Chrome dev in an emulator and it wasn't working there but I just tried Chome dev on the S3 and video textures are displaying properly. I suspect canvas 2D drawing will be working also. Chrome beta has the issue so I guess I have to file a question somewhere when the Chrome dev version may be properly released ?

Comment 25 by electrot...@gmail.com, Jan 15 2016

Getting pretty crazy. Now it doesn't work in my app. Will have to compile a report with an example. its completely bizarre like its printing from memory I see the google search engine page and logo being rendered in the video texture now.

Comment 26 by dongseon...@intel.com, Jan 15 2016

Works well on Nexus 5 with --disable-gesture-requirement-for-media-playback command line.

Stock Chrome browser doesn't show video without --disable-gesture-requirement-for-media-playback command line because of following issue in the code.
"Failed to execute 'play' on 'HTMLMediaElement': API can only be initiated by a user gesture."

Comment 27 by electrot...@gmail.com, Jan 15 2016

this three.js demo produces the same problem on Dev the other does not :(

https://jsfiddle.net/0agb03Ld/1/

I'm filing a report with them as it might be a shader issuer I see a tonne of console logs.

Comment 28 by electrot...@gmail.com, Jan 15 2016

i'll file one here too no worries

Comment 29 by electrot...@gmail.com, Jan 15 2016

I have changed the gesture setting no worries. In the flags settings. It plays fine it's just the webgl video texture.

Sign in to add a comment