New issue
Advanced search Search tips

Issue 838653 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

PIPELINE_ERROR_DECODE after a few seconds of low delay mode video playback

Reported by and...@rainway.io, May 1 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36
Platform: 10452.74.0

Steps to reproduce the problem:
1. Download and install https://rainway.io/ on a Windows 10 PC, install at least one game from a platform like Steam.
2. Login at https://play.rainway.io/ on a Chromebook device, start the game.
3. The video and audio streams will play for few seconds to a minute before the video runs into PIPELINE_ERROR_DECODE

What is the expected behavior?
The stream should run uninterrupted as it does on Windows, Mac, and Linux.

What went wrong?
We are tracking this on our bug tracker https://github.com/RainwayApp/bug-tracker/issues/35

Users report that chrome://flags/#disable-accelerated-video-decode when enabled causes the issue not to happen. I can reproduce this on my Chromebook, and disabling hardware decoding indeed makes the error go away.

However, this isn't an ideal solution, since it slows down video decoding.

Did this work before? No 

Does this work in other browsers? Yes

Chrome version: 66.0.3359.117  Channel: stable
OS Version: 66.0.3359.137
Flash Version: 

We are seeking the video often to keep it at the live edge. Happy to provide more details or testing data, just let me know.
 
dArdQdQ.png
23.8 KB View Download

Comment 1 by h...@andrew.im, Jun 4 2018

Just to help with this issue, I've attached a copy of the stream that broke on ChromeOS.
59e1324413373b06f42a80892960f8e7_2018-06-04-16-31_(Intel(R) HD Graphics 4600).mp4
26.0 MB Download
Components: -Blink>Media Internals>Media
Cc: posciak@chromium.org
Does that stream always cause decoding to break on that device?

Comment 4 Deleted

Comment 5 Deleted

After some research on our end, the seeking was just masking the real problem.

A sudden gap or jump in the decoder causes the entire media to fail. In our testing when using WebRTC data channels, we had an FMP4 chunk arrive and appended it. Right after, an FMP4 chunk for a previous timecode (what should have been appended first) arrived and we blocked it from being appended as it was before the last buffer. 

At that same time, a "PIPELINE_ERROR_DECODE: video decode error" throws on the MediaElement as the buffer we did append caused a gap in the data. There is no way to recover from this and the error doesn't provide us with information on if the chunk was bad.


This doesn't seem like it should result in a fatal error and should be recovered by the decoder. 
Cc: dalecur...@chromium.org
Status: Untriaged (was: Unconfirmed)
This appears to be a technical question now.

Comment 8 Deleted

Hi @dougman

This issue is still occurring in the latest versions in ChromeOS and only on ChromeOS. Desktop and mobile versions of Chrome show no such issues, and other browsers such as Firefox and Safari work fine. Disabling GPU acceleration on ChromeOS solves the problem. 
Cc: wolenetz@chromium.org
Owner: hiroh@chromium.org
Status: Assigned (was: Untriaged)
=>hiroh for triage.

This type of error doesn't come from gaps, it comes from decoding failures. In this case I'd guess a non-keyframe is being appended following something else that is not a keyframe or doesn't belong to the group. Possibly this is fixed in 71+ by pts/dts changes where we'll override what an app says is a keyframe based on what's actually in the stream.

... but since this only occurs on CrOS it might also just be a decoding issue.
Hi, what is the device you have used as Chromebook?

Sign in to add a comment