[webkit-changes] [WebKit/WebKit] 9a5cf3: Add additional optional WebRTC media pipeline logging

youennf noreply at github.com
Tue Jan 17 07:52:26 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9a5cf360c963fda62330b53cd08a83314fc5c876
      https://github.com/WebKit/WebKit/commit/9a5cf360c963fda62330b53cd08a83314fc5c876
  Author: Youenn Fablet <youennf at gmail.com>
  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




More information about the webkit-changes mailing list