Commit 79e486bd authored by Fredrik Hubinette's avatar Fredrik Hubinette Committed by Commit Bot

Allow IMFTransform::ProcessOutput to return E_FAIL

For unknown reasons, IMFTransform::ProcessOutput sometimes return E_FAIL.
It seems that in most of those cases, we can still keep playing the video.
A previous CL changed all unknown errors from IMFTransform::Processoutput
to be reported back as decode errors, this CL makes an exception for E_FAIL.

Bug: 839057
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I4b3edb118728347da7cf5364cbcec8b9b7d8b03b
Reviewed-on: https://chromium-review.googlesource.com/1038643
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555621}
parent 7c003f44
...@@ -1949,6 +1949,11 @@ void DXVAVideoDecodeAccelerator::DoDecode(const gfx::ColorSpace& color_space) { ...@@ -1949,6 +1949,11 @@ void DXVAVideoDecodeAccelerator::DoDecode(const gfx::ColorSpace& color_space) {
// No more output from the decoder. Stop playback. // No more output from the decoder. Stop playback.
SetState(kStopped); SetState(kStopped);
return; return;
} else if (hr == E_FAIL) {
// This shouldn't happen, but does, log it and ignore it.
// https://crbug.com/839057
LOG(ERROR) << "Received E_FAIL in DoDecode()";
return;
} else { } else {
// Unknown error, stop playback and log error. // Unknown error, stop playback and log error.
SetState(kStopped); SetState(kStopped);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment