New issue
Advanced search Search tips

Issue 660130 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

[chromebit] html5 video wont play after a few days of constant play

Reported by chris7da...@googlemail.com, Oct 27 2016

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS armv7l 8530.96.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.154 Safari/537.36
Platform: 8530.96.0 (Official Build) stable-channel veyron_mickey

Example URL:
https://www.youtube.com/watch?v=N-YNlyXQeyw

Steps to reproduce the problem:
1. Need to play html5 video on loop, for days - i have tried this with my own html5 loop js app, just a few <video> in a slideshow, but also replicated on youtube
2. Eventually the videos will stop playing
3. Not possible to play video, even though it is in the play state

What is the expected behavior?
Video continues to play without issue

What went wrong?
Even though the video is in the play state, it will not advance. You can interrogate the duration and currentTime via the js console, and if you set the currentTime to the same as duration, the onEnded event will fire. 

Did this work before? N/A 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? N/A

Chrome version: 53.0.2785.154  Channel: stable
OS Version: 8530.96.0
Flash Version: Shockwave Flash 23.0 r0

This is my chrome system log:

[1:1:1027/200435:VERBOSE1:zygote_main_linux.cc(599)] ZygoteMain: initializing 2 fork delegates
[32197:32197:1027/200436:VERBOSE1:drm_display_host_manager.cc(90)] Failed to get DRM resources for '/dev/dri/card0': Invalid argument
[32197:32197:1027/200436:VERBOSE1:drm_device_handle.cc(66)] Succeeded authenticating /dev/dri/card1
[32227:32262:1027/200437:ERROR:drm_device_manager.cc(53)] Could not initialize DRM device for /sys/devices/platform/vgem/drm/card0
[32227:32262:1027/200438:VERBOSE1:drm_display.cc(102)] DRM configuring: device=/sys/devices/display-subsystem.3/drm/card1 crtc=21 connector=27 origin=0,0 size=1920x1080
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(15300)] [.DisplayCompositor-0xb8380480]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(15300)] [.DisplayCompositor-0xb8380480]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(15300)] [.DisplayCompositor-0xb8380480]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(15300)] [.DisplayCompositor-0xb8380480]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[32227:32227:1027/200452:ERROR:gles2_cmd_decoder.cc(8605)] [.DisplayCompositor-0xb8380480]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[1:1:1027/200504:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/200505:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202238:ERROR:PlatformKeyboardEvent.cpp(94)] Not implemented reached in static bool blink::PlatformKeyboardEvent::currentCapsLockState()
[1:1:1027/202804:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202804:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202809:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202809:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202814:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202815:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202820:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202820:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202823:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202823:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202826:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202826:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202831:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202832:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
[1:1:1027/202839:WARNING:webmediaplayer_impl.cc(341)] Using MultibufferDataSource
[1:1:1027/202840:ERROR:render_media_log.cc(25)] MediaEvent: PIPELINE_ERROR audio renderer: output device reported an error
 
Cc: dgreid@chromium.org
Seems like audio output device won't start.
It works ok after i hard restart the chromebit, is there a way to disable the audio output device entirely so that i could test with that turned off?

Comment 3 by dgreid@chromium.org, Oct 27 2016

Components: -Internals>Media OS>Kernel>Audio
Owner: hychao@chromium.org
Status: Available (was: Unconfirmed)
Summary: [chromebit] html5 video wont play after a few days of constant play (was: html5 video wont play after a few days of constant play)

Comment 4 by dgreid@chromium.org, Oct 27 2016

There isn't an easy way to totally disable audio output.  You could test with USB or bluetooth speakers attached.

Also when this happens again, can you file a feedback report with alt-shift-i.  We'll need platform logs to see what happened to the HDMI audio output.

Comment 5 Deleted

Ok sure, i have set up another test and will report back in a few days once this issue has reoccurred.  
Hi, the issue finally reoccurred - i sent in a feedback report with alt-shift-i. Is there anything else i can check for you whilst i have the issue?
https://feedback.corp.google.com/product/208/neutron?Report=8853390405

Log says that the HDMI output stays in a full buffer state and unable to consume them.
What is the HDMI device you're testing with? Could you try a different HDMI device?
The HDMI device isn't responsible for consuming sample.  The sink device won't affect the behavior.  Did it stop consuming samples completely or were sample just being pushed to it faster than it could play them?

Maybe the sample rate was slightly slower than expected and over the course of several days the buffer got over filled.
I was using a HDMI IPS LCD monitor. I switched to a different monitor, and suddenly it started working again, playing video! I didnt power down the chromebit, i ensured it was kept running in its broken state. 

In the original monitor, i tried restarting chrome, with no success. No video would play at all, either from my own web app, or youtube etc. When i switched monitor, every video started to work again. 

I then connected the chromebit back into the original monitor, and video continued to work. 

Is there any way that i can detect this happening via js, and ensure the buffer doesnt get over filled?

I have now tested this across 4 different HDMI monitors, all separate manufacturers and have been able to get the issue on all of them. Is it possible to control or work around this buffer issue with JS or via some Chromeos API that i can access through Chrome browser?
I'm sorry there's no way to to use JS or browser API to detect this problem.

The output level stays at 130560/131072 from time 10.874 ~ 11.13 so I guessed the output device failed to playback any audio data causing video is blocked.

You mentioned in #11 this happens in 4 different HDMI monitors. Do they happen in the same scenario that video playback in loop for days?
Yes exactly. It takes around a week for this to eventually happen - i have tried on separate chromebits too. 

Would it help if i stripped the audio from the video files? 
I guess stripping audio won't help, silent samples will be used to align video.

Do you have a javascript file I can use to setup the same test?

Meanwhile, could you help run a experiment to plug an USB headset, make sure audio output routes to it and run the same app for a week?
Ok sure, i will get a link sorted for you and post here so that you can test. 

I will go setup the usb audio today and will let you know how it goes. 

Im curious, is this a hardware issue with the chromebit specifically, or will this happen on any device which connects output via HDMI? Should i also try a test with the volume muted on the chromebit, or would that not make a difference?
Muting won't make difference on HDMI/DP, it's just all audio samples set to value '0'. The problem is more like the audio data path is blocked somewhere in system to hardware.
Playback audio for days long is a use case that I never tested, and need more info to triage if it's a HW problem.

If you're on a test image, there's a tool 'audio_diagnostics' to dump the debug data of past 3-4 seconds from audio server. It'd be really helpful you can get the log at below time points:

1. when your video app not play
2. close video app.
3. wait for 5 seconds
4. wait for 15 seconds.
5. wait for 30 seconds.
6. launch video app again (video playback should work without problem)
Project Member

Comment 17 by sheriffbot@chromium.org, Nov 15 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: WontFix (was: Untriaged)
The bug is too old. Please file a new bug if anyone can reproduce this in tip-of-tree chrome.

Sign in to add a comment