Branch: refs/heads/webkitglib/2.46
  Home:   https://github.com/WebKit/WebKit
  Commit: aeb6e8e5d2c4d6838b414d90b737bd13036b999e
      
https://github.com/WebKit/WebKit/commit/aeb6e8e5d2c4d6838b414d90b737bd13036b999e
  Author: Philippe Normand <[email protected]>
  Date:   2024-11-26 (Tue, 26 Nov 2024)

  Changed paths:
    M LayoutTests/platform/glib/TestExpectations
    M Source/WTF/wtf/Logger.cpp
    M Source/WTF/wtf/Logger.h
    M Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp
    M Source/WebCore/Modules/mediastream/PeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/RTCController.cpp
    M Source/WebCore/Modules/mediastream/RTCController.h
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.h
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
    M Source/WebCore/platform/SourcesGStreamer.txt
    A Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.cpp
    A Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.h

  Log Message:
  -----------
  Cherry-pick 287090@main (b36717dc42b1). 
https://bugs.webkit.org/show_bug.cgi?id=279433

    [WebRTC] Support for events and stats aggregation
    https://bugs.webkit.org/show_bug.cgi?id=279433
    <rdar://problem/136139817>

    Reviewed by Eric Carlson.

    This patch instruments the LibWebRTC and GstWebRTC backends with additional 
logging that can be
    gathered and processed by the PeerConnectionBackend. In this first version, 
for WPE and GTK ports,
    the collected logs are written to a JSON file, if the 
WEBKIT_WEBRTC_JSON_EVENTS_FILE environment
    variable is set.

    gatherLogs is also now supported by the GStreamer backend, by using a 
custom GST_DEBUG log handler.

    Future versions could send the JSON stream to the WebInspector or a custom 
URI protocol handler in
    the UIProcess, for live graphing purposes.

    * LayoutTests/platform/glib/TestExpectations:
    * Source/WTF/wtf/Logger.h:
    (WTF::Logger::Observer::handleLogMessage):
    (WTF::Logger::logAlways const):
    (WTF::Logger::error const):
    (WTF::Logger::warning const):
    (WTF::Logger::info const):
    (WTF::Logger::debug const):
    (WTF::Logger::logAlwaysVerbose const):
    (WTF::Logger::errorVerbose const):
    (WTF::Logger::warningVerbose const):
    (WTF::Logger::infoVerbose const):
    (WTF::Logger::debugVerbose const):
    (WTF::Logger::willLog const):
    * Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:
    (WebCore::PeerConnectionBackend::PeerConnectionBackend):
    (WebCore::PeerConnectionBackend::~PeerConnectionBackend):
    (WebCore::PeerConnectionBackend::handleLogMessage):
    (WebCore::PeerConnectionBackend::createOfferSucceeded):
    (WebCore::PeerConnectionBackend::createOfferFailed):
    (WebCore::PeerConnectionBackend::createAnswerSucceeded):
    (WebCore::PeerConnectionBackend::createAnswerFailed):
    (WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
    (WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
    (WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
    (WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
    (WebCore::PeerConnectionBackend::newICECandidate):
    (WebCore::PeerConnectionBackend::newDataChannel):
    (WebCore::PeerConnectionBackend::generateJSONLogEvent):
    (WebCore::PeerConnectionBackend::emitJSONLogEvent):
    * Source/WebCore/Modules/mediastream/PeerConnectionBackend.h:
    (WebCore::PeerConnectionBackend::isJSONLogStreamingEnabled const):
    (WebCore::PeerConnectionBackend::setJSONLogStreamingEnabled):
    * Source/WebCore/Modules/mediastream/RTCController.cpp:
    (WebCore::RTCController::startGatheringLogs):
    (WebCore::RTCController::stopGatheringLogs):
    (WebCore::RTCController::stopLoggingWebRTCLogs):
    (WebCore::RTCController::stopLoggingLibWebRTCLogs): Deleted.
    * Source/WebCore/Modules/mediastream/RTCController.h:
    * Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
    (WebCore::RTCPeerConnection::setLocalDescription):
    (WebCore::RTCPeerConnection::setRemoteDescription):
    (WebCore::RTCPeerConnection::addIceCandidate):
    (WebCore::RTCPeerConnection::dispatchEvent):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.cpp:
    (WebCore::GStreamerMediaEndpoint::GStreamerMediaEndpoint):
    (WebCore::RTCStatsLogger::toJSONString const):
    (WebCore::GStreamerMediaEndpoint::processStatsItem):
    (WebCore::GStreamerMediaEndpoint::statsLogInterval const):
    (WebCore::GStreamerMediaEndpoint::startRTCLogs):
    (WebCore::GStreamerMediaEndpoint::stopRTCLogs):
    * Source/WebCore/Modules/mediastream/gstreamer/GStreamerMediaEndpoint.h:
    * 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.cpp:
    (WebCore::GStreamerPeerConnectionBackend::startGatheringStatLogs):
    (WebCore::GStreamerPeerConnectionBackend::stopGatheringStatLogs):
    (WebCore::GStreamerPeerConnectionBackend::provideStatLogs):
    * 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h:
    * Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
    (WebCore::LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint):
    (WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
    * Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
    * Source/WebCore/platform/SourcesGStreamer.txt:
    * Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:
    (WebCore::RealtimeMediaSource::setLogger):
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.cpp: 
Added.
    (WebCore::GStreamerWebRTCLogSink::GStreamerWebRTCLogSink):
    (WebCore::toWebRTCLogLevel):
    (WebCore::GStreamerWebRTCLogSink::start):
    (WebCore::GStreamerWebRTCLogSink::stop):
    * Source/WebCore/platform/mediastream/gstreamer/GStreamerWebRTCLogSink.h: 
Added.

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

Canonical link: https://commits.webkit.org/282416.328@webkitglib/2.46



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to