[Webkit-unassigned] [Bug 236140] MediaPlayerPrivateMediaStreamAVFObjC needs the GPUP context to create GPUP ImageBuffers

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 4 07:19:52 PST 2022


https://bugs.webkit.org/show_bug.cgi?id=236140

--- Comment #1 from Kimmo Kinnunen <kkinnunen at apple.com> ---
If I understand correctly, RemoteCaptureSampleManager is instantiated to capture the samples for a particular page, via UserMediaCaptureManager.

So WebChromeClient should return such a UserMediaCaptureManager that captures in GPUP when the flags are set. Otherwise it should construct the a local one.

For the Remote case, WebChromeClient should provide the dependency objects to RemoteCaptureSampleManager, and then the constructed object to UserMediaCaptureManager, and then return it.

Media code should ask WebChromeClient to create the various objects.

Probably this will be true for all other media related code too, for example here:



void RemoteMediaPlayerManager::setUseGPUProcess(bool useGPUProcess)
{
    auto registerEngine = [this](MediaEngineRegistrar registrar, MediaPlayerEnums::MediaEngineIdentifier remoteEngineIdentifier) {
        registrar(makeUnique<MediaPlayerRemoteFactory>(remoteEngineIdentifier, *this));
    };

    RemoteMediaPlayerSupport::setRegisterRemotePlayerCallback(useGPUProcess ? WTFMove(registerEngine) : RemoteMediaPlayerSupport::RegisterRemotePlayerCallback());

#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
    if (useGPUProcess) {
        WebCore::SampleBufferDisplayLayer::setCreator([](auto& client) {
            return WebProcess::singleton().ensureGPUProcessConnection().sampleBufferDisplayLayerManager().createLayer(client);
        });
    }
#endif
}

E.g. WebChromeClient should instantiate SampleBufferDisplayLayer, so that page-dependent GPUP object can be passed to the remote SampleBufferDisplayLayer

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220204/66b0ef7f/attachment-0001.htm>


More information about the webkit-unassigned mailing list