Title: [257708] trunk/Source/WebKit
Revision
257708
Author
[email protected]
Date
2020-03-02 07:04:56 -0800 (Mon, 02 Mar 2020)

Log Message

Enable audio MediaStreamTrack rendering in GPUProcess if audio capture happens in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208435

Reviewed by Eric Carlson.

Instead of enabling audio track rendering in GPUProcess based on media flag,
use the audio capture flag.
This makes sure things work properly on iOS, where an audio session might interrupt other sessions.

* WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
(WebKit::RemoteMediaPlayerManager::updatePreferences):
* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::setupCaptureProcesses):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (257707 => 257708)


--- trunk/Source/WebKit/ChangeLog	2020-03-02 11:36:00 UTC (rev 257707)
+++ trunk/Source/WebKit/ChangeLog	2020-03-02 15:04:56 UTC (rev 257708)
@@ -1,3 +1,19 @@
+2020-03-02  youenn fablet  <[email protected]>
+
+        Enable audio MediaStreamTrack rendering in GPUProcess if audio capture happens in GPUProcess
+        https://bugs.webkit.org/show_bug.cgi?id=208435
+
+        Reviewed by Eric Carlson.
+
+        Instead of enabling audio track rendering in GPUProcess based on media flag,
+        use the audio capture flag.
+        This makes sure things work properly on iOS, where an audio session might interrupt other sessions.
+
+        * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
+        (WebKit::RemoteMediaPlayerManager::updatePreferences):
+        * WebProcess/cocoa/UserMediaCaptureManager.cpp:
+        (WebKit::UserMediaCaptureManager::setupCaptureProcesses):
+
 2020-03-02  Rob Buis  <[email protected]>
 
         Add referrerpolicy attribute support for anchors

Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp (257707 => 257708)


--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp	2020-03-02 11:36:00 UTC (rev 257707)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp	2020-03-02 15:04:56 UTC (rev 257708)
@@ -28,9 +28,7 @@
 
 #if ENABLE(GPU_PROCESS)
 
-#include "AudioMediaStreamTrackRenderer.h"
 #include "MediaPlayerPrivateRemote.h"
-#include "RemoteAudioMediaStreamTrackRenderer.h"
 #include "RemoteMediaPlayerConfiguration.h"
 #include "RemoteMediaPlayerMIMETypeCache.h"
 #include "RemoteMediaPlayerManagerProxyMessages.h"
@@ -253,7 +251,6 @@
 
 #if PLATFORM(COCOA) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
     if (settings.useGPUProcessForMedia()) {
-        WebCore::AudioMediaStreamTrackRenderer::setCreator(WebKit::AudioMediaStreamTrackRenderer::create);
         WebCore::SampleBufferDisplayLayer::setCreator([](auto& client, bool hideRootLayer, auto size) {
             return WebProcess::singleton().ensureGPUProcessConnection().sampleBufferDisplayLayerManager().createLayer(client, hideRootLayer, size);
         });

Modified: trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp (257707 => 257708)


--- trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2020-03-02 11:36:00 UTC (rev 257707)
+++ trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2020-03-02 15:04:56 UTC (rev 257708)
@@ -28,7 +28,8 @@
 
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
 
-#include  "GPUProcessConnection.h"
+#include "AudioMediaStreamTrackRenderer.h"
+#include "GPUProcessConnection.h"
 #include "SharedRingBufferStorage.h"
 #include "UserMediaCaptureManagerMessages.h"
 #include "UserMediaCaptureManagerProxyMessages.h"
@@ -274,6 +275,9 @@
     m_audioFactory.setShouldCaptureInGPUProcess(shouldCaptureAudioInGPUProcess);
     m_videoFactory.setShouldCaptureInGPUProcess(shouldCaptureVideoInGPUProcess);
 
+    if (shouldCaptureAudioInGPUProcess)
+        WebCore::AudioMediaStreamTrackRenderer::setCreator(WebKit::AudioMediaStreamTrackRenderer::create);
+
     if (shouldCaptureAudioInUIProcess || shouldCaptureAudioInGPUProcess)
         RealtimeMediaSourceCenter::singleton().setAudioCaptureFactory(m_audioFactory);
     if (shouldCaptureVideoInUIProcess || shouldCaptureVideoInGPUProcess)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to