forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix Vaapi VDA flush handling during resolution change
Suppose VAVDA got client request Decode()*N and then a Flush(), they will be posted to decoder thread and handled by DecodeTask and FlushTask. Ideally DecodeTask will decode all N input, so no pending input remains when FlushTask starts. However, the DecodeTask() encountered a resolution change when it processes one of input buffer. It has to allocate new surfaces. So it post something to main thread and expect next DecodeTask will come back to finish inputs. During the main thread allocating new surfaces, the decode thread do next task in the queue --- FlushTask, which starts before all input buffers are done. The main idea of this CL is to enqueue a dummy buffer to indicate flushing instead of kFlush state. BUG=b:30617067,b:34317221 TEST=run ARC CTS test AdaptivePlaybackTest#testVP9_adaptiveDrcEarlyEos CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2642623002 Cr-Commit-Position: refs/heads/master@{#445951}
- Loading branch information
Showing
2 changed files
with
100 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters