Title: [289361] trunk/Source/WebKit
Revision
289361
Author
[email protected]
Date
2022-02-08 03:28:26 -0800 (Tue, 08 Feb 2022)

Log Message

SharedVideoFrameReader could directly take a IPCHandle
https://bugs.webkit.org/show_bug.cgi?id=236068

Reviewed by Eric Carlson.

Move more code in SharedVideoFrameReader::setSharedMemory, as a refactoring.

* GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::setSharedVideoFrameMemory):
* GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
* GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
(WebKit::RemoteSampleBufferDisplayLayer::setSharedVideoFrameMemory):
* WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
(WebKit::SharedVideoFrameReader::setSharedMemory):
* WebProcess/GPU/webrtc/SharedVideoFrame.h:
(WebKit::SharedVideoFrameReader::setSharedMemory): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (289360 => 289361)


--- trunk/Source/WebKit/ChangeLog	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/ChangeLog	2022-02-08 11:28:26 UTC (rev 289361)
@@ -1,3 +1,23 @@
+2022-02-08  Youenn Fablet  <[email protected]>
+
+        SharedVideoFrameReader could directly take a IPCHandle
+        https://bugs.webkit.org/show_bug.cgi?id=236068
+
+        Reviewed by Eric Carlson.
+
+        Move more code in SharedVideoFrameReader::setSharedMemory, as a refactoring.
+
+        * GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
+        (WebKit::LibWebRTCCodecsProxy::setSharedVideoFrameMemory):
+        * GPUProcess/webrtc/RemoteMediaRecorder.cpp:
+        (WebKit::RemoteMediaRecorder::setSharedVideoFrameMemory):
+        * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
+        (WebKit::RemoteSampleBufferDisplayLayer::setSharedVideoFrameMemory):
+        * WebProcess/GPU/webrtc/SharedVideoFrame.cpp:
+        (WebKit::SharedVideoFrameReader::setSharedMemory):
+        * WebProcess/GPU/webrtc/SharedVideoFrame.h:
+        (WebKit::SharedVideoFrameReader::setSharedMemory): Deleted.
+
 2022-02-07  Ben Nham  <[email protected]>
 
         Add PushService

Modified: trunk/Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm (289360 => 289361)


--- trunk/Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm	2022-02-08 11:28:26 UTC (rev 289361)
@@ -267,13 +267,9 @@
     if (!encoder)
         return;
 
-    auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
-    if (!memory)
-        return;
-
     if (!encoder->frameReader)
         encoder->frameReader = makeUnique<SharedVideoFrameReader>();
-    encoder->frameReader->setSharedMemory(memory.releaseNonNull());
+    encoder->frameReader->setSharedMemory(ipcHandle);
 }
 
 bool LibWebRTCCodecsProxy::allowsExitUnderMemoryPressure() const

Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp (289360 => 289361)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.cpp	2022-02-08 11:28:26 UTC (rev 289361)
@@ -148,11 +148,7 @@
 
 void RemoteMediaRecorder::setSharedVideoFrameMemory(const SharedMemory::IPCHandle& ipcHandle)
 {
-    auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
-    if (!memory)
-        return;
-
-    m_sharedVideoFrameReader.setSharedMemory(memory.releaseNonNull());
+    m_sharedVideoFrameReader.setSharedMemory(ipcHandle);
 }
 
 }

Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp (289360 => 289361)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp	2022-02-08 11:28:26 UTC (rev 289361)
@@ -164,11 +164,7 @@
 
 void RemoteSampleBufferDisplayLayer::setSharedVideoFrameMemory(const SharedMemory::IPCHandle& ipcHandle)
 {
-    auto memory = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
-    if (!memory)
-        return;
-
-    m_sharedVideoFrameReader.setSharedMemory(memory.releaseNonNull());
+    m_sharedVideoFrameReader.setSharedMemory(ipcHandle);
 }
 
 }

Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp (289360 => 289361)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.cpp	2022-02-08 11:28:26 UTC (rev 289361)
@@ -133,6 +133,11 @@
     return m_bufferPool.get();
 }
 
+bool SharedVideoFrameReader::setSharedMemory(const SharedMemory::IPCHandle& ipcHandle)
+{
+    m_storage = SharedMemory::map(ipcHandle.handle, SharedMemory::Protection::ReadOnly);
+    return !!m_storage;
+}
 
 }
 

Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.h (289360 => 289361)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.h	2022-02-08 09:53:04 UTC (rev 289360)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/SharedVideoFrame.h	2022-02-08 11:28:26 UTC (rev 289361)
@@ -71,7 +71,7 @@
     explicit SharedVideoFrameReader(UseIOSurfaceBufferPool = UseIOSurfaceBufferPool::Yes);
 
     void setSemaphore(IPC::Semaphore&& semaphore) { m_semaphore = WTFMove(semaphore); }
-    void setSharedMemory(Ref<SharedMemory>&& storage) { m_storage = WTFMove(storage); }
+    bool setSharedMemory(const SharedMemory::IPCHandle&);
 
     RetainPtr<CVPixelBufferRef> read();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to