[Chromoting] DirectX based capturer should always return a temporary error

When Windows is switching display mode, DirectX based capturer may not be able
to create a new IDXGIOutputDuplication instance, which is expected. So it should
return a temporary error instead of a permanent error.

BUG=

Review-Url: https://codereview.webrtc.org/2092543003
Cr-Commit-Position: refs/heads/master@{#13279}
This commit is contained in:
zijiehe 2016-06-23 18:41:02 -07:00 committed by Commit bot
parent ef184702f6
commit 721ede1096

View File

@ -619,8 +619,10 @@ void ScreenCapturerWinDirectx::Capture(const DesktopRegion& region) {
RTC_DCHECK(callback_);
if (!g_container->duplication && !DuplicateOutput()) {
// Failed to initialize desktop duplication.
callback_->OnCaptureResult(Result::ERROR_PERMANENT, nullptr);
// Failed to initialize desktop duplication. This usually happens when
// Windows is switching display mode. Retrying later usually resolves the
// issue.
callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr);
return;
}