Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR provides a total rewrite for much of the backend of the media widget, now using event-based instead of timer-base updates. Multiple users have experienced high cpu uasge, NPSMSvc crashes, and other odd behaviour. This was likely caused by the bar spamming the service with update requests. Especially when multiple bars were present (multiple monitors), the amount of requests was large since each widget would do its own requests for updating.
The current implementation subscribes update functions to the
winsdk
events, and updates from there. The wrapper forwinsdk
media handling is a singleton to which all media widgets subscribe, meaning that it only makes one windows api call(back) no matter how many widgets.Remaining known issues: Updates slow on Firefox, which seems to be Firefox not firing update events at immediately (like e.g. Spotify or Arc do).