Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4187f71b1153e0f79384580df9abd135e04a37e1
https://github.com/WebKit/WebKit/commit/4187f71b1153e0f79384580df9abd135e04a37e1
Author: Jean-Yves Avenard <[email protected]>
Date: 2025-08-15 (Fri, 15 Aug 2025)
Changed paths:
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm
M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.h
M Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm
Log Message:
-----------
[visionOS] Transition from fullscreen to dock isn't as smooth as it could be
https://bugs.webkit.org/show_bug.cgi?id=297377
rdar://158274410
Reviewed by Andy Estes.
Adopt VideoMediaSampleRenderer::changeRenderer in MediaPlayerPrivateWebM
We no longer need to stage an AVSBDL or AVSBVR through an intermediary
VideoMediaSampleRenderer when going in or out of dock mode. We can simply
change from one to another without losing the currently displayed frame
and without performing an internal seek.
Ensuring a much smoother fullscreen animation, while simplifying the code.
For now we only adopt changeRenderer for WebM. MSE player will be done in
a follow-up change.
Manually tested on device.
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
- Remove StagedLayer and StagedVideoRenderer state, we can directly switch
between Layer from/to VideoRenderer.
- As the VideoMediaSampleRenderer enqueues samples on another thread
concurrently
it is important to delay the destruction of the AVSBDL or the AVSBVR until
after the change of renderer has completed.
* Source/WebCore/platform/graphics/cocoa/VideoMediaSampleRenderer.mm:
- Stop propagating error using NSNotificationCenter, there's a dedicated
callback for that and webm only ever use a decompression session
- VideoMediaSampleRenderer::changeRenderer API
- Clarify with assertion on which thread a renderer getter method can be
called.
Canonical link: https://commits.webkit.org/298745@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes