Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9a5cf360c963fda62330b53cd08a83314fc5c876
      
https://github.com/WebKit/WebKit/commit/9a5cf360c963fda62330b53cd08a83314fc5c876
  Author: Youenn Fablet <[email protected]>
  Date:   2023-01-17 (Tue, 17 Jan 2023)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp
    M Source/WebCore/platform/FrameRateMonitor.cpp
    M Source/WebCore/platform/FrameRateMonitor.h
    M Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h
    M 
Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in
    M Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm

  Log Message:
  -----------
  Add additional optional WebRTC media pipeline logging
https://bugs.webkit.org/show_bug.cgi?id=250675
rdar://problem/104296522

Reviewed by Eric Carlson.

We add three frame rate monitors just before decoder in GPUProcess, just after 
decoder in GPUProcess and just before rendering code path in WebProcess.
This can be enabled with the new internal runtime flag introduced in this patch.
This logging can allow to pinpoint areas where WebRTC video frame rate issues 
are introduced.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp:
(WebCore::LibWebRTCRtpReceiverBackend::createSource):
* Source/WebCore/platform/FrameRateMonitor.cpp:
(WebCore::FrameRateMonitor::update):
* Source/WebCore/platform/FrameRateMonitor.h:
* Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp:
(WebCore::m_frameRateMonitor):
(WebCore::RealtimeIncomingVideoSource::notifyNewFrame):
(WebCore::RealtimeIncomingVideoSource::onIrregularFrameRateNotification):
* Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h:
(WebCore::RealtimeIncomingVideoSource::setShouldMonitorFrameRate):
* Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame):
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.h:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in:
* Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm:
(WebKit::LibWebRTCCodecsProxy::createDecoderCallback):
(WebKit::LibWebRTCCodecsProxy::createLocalDecoder):
(WebKit::LibWebRTCCodecsProxy::createDecoder):
(WebKit::LibWebRTCCodecsProxy::releaseDecoder):
(WebKit::LibWebRTCCodecsProxy::flushDecoder):
(WebKit::LibWebRTCCodecsProxy::setDecoderFormatDescription):
(WebKit::LibWebRTCCodecsProxy::doDecoderTask):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::createRemoteDecoder):
(WebKit::LibWebRTCCodecs::setWebRTCMediaPipelineAdditionalLoggingEnabled):
(WebKit::LibWebRTCCodecs::createDecoderInternal):
(WebKit::LibWebRTCCodecs::gpuProcessConnectionDidClose):
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::platformInitialize):

Canonical link: https://commits.webkit.org/258980@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to