diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-02 12:21:57 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-12 08:13:00 +0000 |
commit | 606d85f2a5386472314d39923da28c70c60dc8e7 (patch) | |
tree | a8f4d7bf997f349f45605e6058259fba0630e4d7 /chromium/media/gpu/windows/d3d11_av1_accelerator.cc | |
parent | 5786336dda477d04fb98483dca1a5426eebde2d7 (diff) | |
download | qtwebengine-chromium-606d85f2a5386472314d39923da28c70c60dc8e7.tar.gz |
BASELINE: Update Chromium to 96.0.4664.181
Change-Id: I762cd1da89d73aa6313b4a753fe126c34833f046
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/media/gpu/windows/d3d11_av1_accelerator.cc')
-rw-r--r-- | chromium/media/gpu/windows/d3d11_av1_accelerator.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/chromium/media/gpu/windows/d3d11_av1_accelerator.cc b/chromium/media/gpu/windows/d3d11_av1_accelerator.cc index 401f5917c0b..4c9e1dc1c64 100644 --- a/chromium/media/gpu/windows/d3d11_av1_accelerator.cc +++ b/chromium/media/gpu/windows/d3d11_av1_accelerator.cc @@ -397,6 +397,11 @@ D3D11AV1Accelerator::D3D11AV1Accelerator( D3D11AV1Accelerator::~D3D11AV1Accelerator() {} void D3D11AV1Accelerator::RecordFailure(const std::string& fail_type, + media::Status error) { + RecordFailure(fail_type, error.message(), error.code()); +} + +void D3D11AV1Accelerator::RecordFailure(const std::string& fail_type, const std::string& message, StatusCode reason) { MEDIA_LOG(ERROR, media_log_) @@ -502,9 +507,16 @@ DecodeStatus D3D11AV1Accelerator::SubmitDecode( base::span<const uint8_t> data) { const D3D11AV1Picture* pic_ptr = static_cast<const D3D11AV1Picture*>(&pic); do { - const auto hr = video_context_->DecoderBeginFrame( - video_decoder_.Get(), pic_ptr->picture_buffer()->output_view().Get(), 0, - nullptr); + ID3D11VideoDecoderOutputView* output_view = nullptr; + auto result = pic_ptr->picture_buffer()->AcquireOutputView(); + if (result.has_value()) { + output_view = std::move(result).value(); + } else { + RecordFailure("AcquireOutputView", std::move(result).error()); + return DecodeStatus::kFail; + } + const auto hr = video_context_->DecoderBeginFrame(video_decoder_.Get(), + output_view, 0, nullptr); if (SUCCEEDED(hr)) { break; } else if (hr == E_PENDING || hr == D3DERR_WASSTILLDRAWING) { |