Title: [275662] trunk/Source/WebCore
- Revision
- 275662
- Author
- [email protected]
- Date
- 2021-04-08 11:17:31 -0700 (Thu, 08 Apr 2021)
Log Message
Broken transition when video player with MediaStream changes size
https://bugs.webkit.org/show_bug.cgi?id=224161
<rdar://problem/76366061>
Reviewed by Eric Carlson.
In case of animation that changes the root layer bounds, we need to synchronously update
the buffer layer as well.
Manually tested.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (275661 => 275662)
--- trunk/Source/WebCore/ChangeLog 2021-04-08 18:15:05 UTC (rev 275661)
+++ trunk/Source/WebCore/ChangeLog 2021-04-08 18:17:31 UTC (rev 275662)
@@ -1,3 +1,19 @@
+2021-04-08 Youenn Fablet <[email protected]>
+
+ Broken transition when video player with MediaStream changes size
+ https://bugs.webkit.org/show_bug.cgi?id=224161
+ <rdar://problem/76366061>
+
+ Reviewed by Eric Carlson.
+
+ In case of animation that changes the root layer bounds, we need to synchronously update
+ the buffer layer as well.
+
+ Manually tested.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+ (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange):
+
2021-04-08 Simon Fraser <[email protected]>
Compact GraphicsContextState
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm (275661 => 275662)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm 2021-04-08 18:15:05 UTC (rev 275661)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm 2021-04-08 18:17:31 UTC (rev 275662)
@@ -1048,7 +1048,9 @@
void MediaPlayerPrivateMediaStreamAVFObjC::rootLayerBoundsDidChange()
{
- m_shouldUpdateDisplayLayer = true;
+ auto locker = holdLock(m_sampleBufferDisplayLayerLock);
+ if (m_sampleBufferDisplayLayer)
+ m_sampleBufferDisplayLayer->updateBoundsAndPosition(m_sampleBufferDisplayLayer->rootLayer().bounds, m_videoRotation);
}
WTFLogChannel& MediaPlayerPrivateMediaStreamAVFObjC::logChannel() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes