-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
On high-end devices (confirmed on Pixel 10 Pro Fold), switching back to the wallpaper after using a heavy media application (YouTube) causes the video to freeze on a single frame.
Symptoms:
- The wallpaper is visible but static (frozen).
- Crucially: Locking and unlocking the screen (which destroys and recreates the surface) does not resolve the freeze.
- Requires a full re-application of the wallpaper to fix.
Analysis
This appears to be a "Decoder Stall" or "Silent Freeze."
- YouTube claims the hardware video decoder.
- Upon returning to the home screen, the Wallpaper Engine attempts to resume.
- Due to resource contention or a race condition in the
onVisibilityChangedlogic, theExoPlayerinstance enters a state whereisPlaying == truebut the underlying decoder is not producing frames. - Since no exception is thrown (
onPlayerErroris not triggered), the current auto-recovery logic does not kick in.
Proposed Fix (v1.1.3)
Implement a Stall Watchdog:
- A background handler that checks the
currentPositionof the player every 2 seconds while visible. - If
isPlayingis true butcurrentPositionhas not changed for 4 seconds, the watchdog will force a hardrelease()andinitializePlayer()to reset the decoder connection.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working