Skip to content

Conversation

low-batt
Copy link
Contributor

This commit will:

  • Change VideoLaye.draw to queue a task to the mpvGLQueue queue
  • Change MPVController.mpvUpdateCallback to call draw directly
  • Change MainWindowController.enterInteractiveMode to call draw directly
  • Change mpvGLQueue to be a private constant

These changes cause all drawing to occur from tasks submitted to mpvGLQueue . Restricting all drawing to a single serial dispatch queue eliminates the data race with these two properties.


Description:

This commit will:

- Change VideoLaye.draw to queue a task to the mpvGLQueue queue
- Change MPVController.mpvUpdateCallback to call draw directly
- Change MainWindowController.enterInteractiveMode  to call draw
  directly
- Change mpvGLQueue to be a private constant

These changes cause all drawing to occur from tasks submitted to
mpvGLQueue . Restricting all drawing to a single serial dispatch queue
eliminates the data race with these two properties.
@low-batt low-batt linked an issue Oct 17, 2022 that may be closed by this pull request
1 task
@uiryuu uiryuu merged commit f8811b6 into develop Oct 25, 2022
@uiryuu uiryuu deleted the fix-3827 branch October 25, 2022 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ThreadSanitizer: data race in ViewLayer.forceRender.setter
2 participants