New issue
Advanced search Search tips

Issue 764785 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 764779



Sign in to add a comment

D3D11H264Accelerator::SubmitFrameMetadata doesn’t handle E_PENDING

Project Member Reported by liber...@chromium.org, Sep 13 2017

Issue description

D3D11H264Accelerator::SubmitFrameMetadata doesn’t handle E_PENDING correctly.  it CHECKs(), when it should just schedule a retry later.

Busy wait seems to work, but probably not what we’re supposed to do.  

H24Decoder::StartNewFrame should check before doing stuff like getting a picture buffer.  Then again, maybe that’s okay if it’s okay to drop it on the floor.  It does some work before trying metadata, and i’m not sure if it can be restarted easily.  Maybe it can be, and SFM should just return false.

I think that it should have tryBeginFrame() and endFrame() or similar that it always calls, and the accelerator can ask d3d about it.  The decoder will have to call cancelFrame() or something if it decides not to do work later.  Not sure if d3d supports that.

alternatively, we could buffer all the data until d3d is ready for it, but then the decoder is entirely async from the accelerator.  seems like the decoder is supposed to be the async part, and should handle "not ready".

 
Cc: liber...@chromium.org
Owner: ----
Status: Available (was: Assigned)

Sign in to add a comment