Title: [293073] branches/safari-613-branch/Source/WebKit
Revision
293073
Author
[email protected]
Date
2022-04-19 22:38:30 -0700 (Tue, 19 Apr 2022)

Log Message

Cherry-pick r292044. rdar://problem/86662565

    Don't send sync RemoteMediaPlayerProxy messages that we know will fail
    https://bugs.webkit.org/show_bug.cgi?id=238467
    rdar://86662565

    Reviewed by Jer Noble.

    * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
    (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
    readyState is less than HaveCurrentData, or if the first frame is not available.

    * WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
    (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
    (WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-613-branch/Source/WebKit/ChangeLog (293072 => 293073)


--- branches/safari-613-branch/Source/WebKit/ChangeLog	2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/ChangeLog	2022-04-20 05:38:30 UTC (rev 293073)
@@ -1,5 +1,41 @@
 2022-04-19  Alan Coon  <[email protected]>
 
+        Cherry-pick r292044. rdar://problem/86662565
+
+    Don't send sync RemoteMediaPlayerProxy messages that we know will fail
+    https://bugs.webkit.org/show_bug.cgi?id=238467
+    rdar://86662565
+    
+    Reviewed by Jer Noble.
+    
+    * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+    (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
+    readyState is less than HaveCurrentData, or if the first frame is not available.
+    
+    * WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
+    (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
+    (WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2022-03-29  Eric Carlson  <[email protected]>
+
+            Don't send sync RemoteMediaPlayerProxy messages that we know will fail
+            https://bugs.webkit.org/show_bug.cgi?id=238467
+            rdar://86662565
+
+            Reviewed by Jer Noble.
+
+            * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+            (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
+            readyState is less than HaveCurrentData, or if the first frame is not available.
+
+            * WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
+            (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
+            (WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.
+
+2022-04-19  Alan Coon  <[email protected]>
+
         Cherry-pick r291606. rdar://problem/91446317
 
     Website policies are not respected when doing COOP based process swap

Modified: branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp (293072 => 293073)


--- branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp	2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp	2022-04-20 05:38:30 UTC (rev 293073)
@@ -1011,6 +1011,9 @@
 
 std::optional<WebCore::MediaSampleVideoFrame> MediaPlayerPrivateRemote::videoFrameForCurrentTime()
 {
+    if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+        return { };
+
     std::optional<WebCore::MediaSampleVideoFrame> result;
     bool changed = false;
     if (!connection().sendSync(Messages::RemoteMediaPlayerProxy::VideoFrameForCurrentTimeIfChanged(), Messages::RemoteMediaPlayerProxy::VideoFrameForCurrentTimeIfChanged::Reply(result, changed), m_id))

Modified: branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm (293072 => 293073)


--- branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm	2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm	2022-04-20 05:38:30 UTC (rev 293073)
@@ -59,6 +59,9 @@
 
 RefPtr<NativeImage> MediaPlayerPrivateRemote::nativeImageForCurrentTime()
 {
+    if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+        return { };
+
     if (m_pixelBufferGatheredWithVideoFrameMetadata) {
         if (!m_pixelBufferConformer)
             m_pixelBufferConformer = makeUnique<PixelBufferConformerCV>((__bridge CFDictionaryRef)@{ (__bridge NSString *)kCVPixelBufferPixelFormatTypeKey: @(kCVPixelFormatType_32BGRA) });
@@ -90,6 +93,9 @@
 WebCore::DestinationColorSpace MediaPlayerPrivateRemote::colorSpace()
 {
     auto colorSpace = DestinationColorSpace::SRGB();
+    if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+        return colorSpace;
+
     connection().sendSync(Messages::RemoteMediaPlayerProxy::ColorSpace(), Messages::RemoteMediaPlayerProxy::ColorSpace::Reply(colorSpace), m_id);
     return colorSpace;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to