Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix video buffering code to properly play high reference frame videos.
This change prevents a buffer to be returned to the available queue while it's still in use by the decoder. There is now a 'finished' queue to store frames until the decoder no longer needs them. Previously we would return a frame to available before it was finished by the decoder and cause severe video corruption. With this change, killasample can now be played corruption free by Xv and by VDPAU with vdpaubuffersize of only 20. NOTE: Bringing up the OSD under Xv can still cause corruption since we don't protect against modifying the buffer in the video processing portion of code. To avoid this the buffer will need to be copied before being modified. (cherry picked from commit f8c108e)
- Loading branch information
Showing
3 changed files
with
59 additions
and
17 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
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