Diff
Modified: trunk/Source/WebCore/ChangeLog (275347 => 275348)
--- trunk/Source/WebCore/ChangeLog 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/ChangeLog 2021-04-01 08:05:48 UTC (rev 275348)
@@ -1,3 +1,28 @@
+2021-04-01 Youenn Fablet <[email protected]>
+
+ Add some logging to RTCRtpSender and RTCRtpReceiver
+ https://bugs.webkit.org/show_bug.cgi?id=223991
+
+ Reviewed by Eric Carlson.
+
+ Add some logging around transforms.
+ No change of behavior.
+
+ * Modules/mediastream/PeerConnectionBackend.cpp:
+ (WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
+ * Modules/mediastream/RTCRtpReceiver.cpp:
+ (WebCore::RTCRtpReceiver::RTCRtpReceiver):
+ (WebCore::RTCRtpReceiver::setTransform):
+ (WebCore::RTCRtpReceiver::logChannel const):
+ * Modules/mediastream/RTCRtpReceiver.h:
+ * Modules/mediastream/RTCRtpReceiver.idl:
+ * Modules/mediastream/RTCRtpSender.cpp:
+ (WebCore::RTCRtpSender::RTCRtpSender):
+ (WebCore::RTCRtpSender::setTransform):
+ (WebCore::RTCRtpSender::logChannel const):
+ * Modules/mediastream/RTCRtpSender.h:
+ * Modules/mediastream/RTCRtpSender.idl:
+
2021-03-31 Antoine Quint <[email protected]>
Move AnimationTimeline methods related to Styleable to Styleable
Modified: trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp 2021-04-01 08:05:48 UTC (rev 275348)
@@ -265,6 +265,7 @@
auto& track = event.track.get();
m_peerConnection.dispatchEventWhenFeasible(RTCTrackEvent::create(eventNames().trackEvent, Event::CanBubble::No, Event::IsCancelable::No, WTFMove(event.receiver), WTFMove(event.track), WTFMove(event.streams), WTFMove(event.transceiver)));
+ ALWAYS_LOG(LOGIDENTIFIER, "Dispatched if feasible track of type ", track.source().type());
if (m_peerConnection.isClosed())
return;
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.cpp (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.cpp 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.cpp 2021-04-01 08:05:48 UTC (rev 275348)
@@ -34,6 +34,7 @@
#if ENABLE(WEB_RTC)
#include "JSDOMPromiseDeferred.h"
+#include "Logging.h"
#include "PeerConnectionBackend.h"
#include "RTCRtpCapabilities.h"
#include <wtf/IsoMallocInlines.h>
@@ -40,6 +41,12 @@
namespace WebCore {
+#if !RELEASE_LOG_DISABLED
+#define LOGIDENTIFIER_RECEIVER WTF::Logger::LogSiteIdentifier(logClassName(), __func__, m_connection->logIdentifier())
+#else
+#define LOGIDENTIFIER_RECEIVER
+#endif
+
WTF_MAKE_ISO_ALLOCATED_IMPL(RTCRtpReceiver);
RTCRtpReceiver::RTCRtpReceiver(PeerConnectionBackend& connection, Ref<MediaStreamTrack>&& track, std::unique_ptr<RTCRtpReceiverBackend>&& backend)
@@ -46,6 +53,10 @@
: m_track(WTFMove(track))
, m_backend(WTFMove(backend))
, m_connection(makeWeakPtr(&connection))
+#if !RELEASE_LOG_DISABLED
+ , m_logger(connection.logger())
+ , m_logIdentifier(connection.logIdentifier())
+#endif
{
}
@@ -83,6 +94,8 @@
ExceptionOr<void> RTCRtpReceiver::setTransform(Optional<RTCRtpTransform>&& transform)
{
+ ALWAYS_LOG_IF(m_connection, LOGIDENTIFIER_RECEIVER);
+
if (transform && m_transform && *transform == *m_transform)
return { };
if (transform && transform->isAttached())
@@ -104,6 +117,13 @@
return m_transform->internalTransform();
}
+#if !RELEASE_LOG_DISABLED
+WTFLogChannel& RTCRtpReceiver::logChannel() const
+{
+ return LogWebRTC;
+}
+#endif
+
} // namespace WebCore
#endif // ENABLE(WEB_RTC)
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.h (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.h 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.h 2021-04-01 08:05:48 UTC (rev 275348)
@@ -44,7 +44,12 @@
class PeerConnectionBackend;
struct RTCRtpCapabilities;
-class RTCRtpReceiver final : public RefCounted<RTCRtpReceiver>, public ScriptWrappable {
+class RTCRtpReceiver final : public RefCounted<RTCRtpReceiver>
+ , public ScriptWrappable
+#if !RELEASE_LOG_DISABLED
+ , private LoggerHelper
+#endif
+ {
WTF_MAKE_ISO_ALLOCATED(RTCRtpReceiver);
public:
static Ref<RTCRtpReceiver> create(PeerConnectionBackend& connection, Ref<MediaStreamTrack>&& track, std::unique_ptr<RTCRtpReceiverBackend>&& backend)
@@ -73,10 +78,21 @@
private:
RTCRtpReceiver(PeerConnectionBackend&, Ref<MediaStreamTrack>&&, std::unique_ptr<RTCRtpReceiverBackend>&&);
+#if !RELEASE_LOG_DISABLED
+ const Logger& logger() const final { return m_logger.get(); }
+ const void* logIdentifier() const final { return m_logIdentifier; }
+ const char* logClassName() const final { return "RTCRtpReceiver"; }
+ WTFLogChannel& logChannel() const final;
+#endif
+
Ref<MediaStreamTrack> m_track;
std::unique_ptr<RTCRtpReceiverBackend> m_backend;
WeakPtr<PeerConnectionBackend> m_connection;
Optional<RTCRtpTransform> m_transform;
+#if !RELEASE_LOG_DISABLED
+ Ref<const Logger> m_logger;
+ const void* m_logIdentifier { nullptr };
+#endif
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.idl (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.idl 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpReceiver.idl 2021-04-01 08:05:48 UTC (rev 275348)
@@ -32,7 +32,6 @@
[
Conditional=WEB_RTC,
EnabledAtRuntime=PeerConnection,
- ImplementationLacksVTable,
Exposed=Window
] interface RTCRtpReceiver {
readonly attribute MediaStreamTrack track;
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.cpp 2021-04-01 08:05:48 UTC (rev 275348)
@@ -34,6 +34,7 @@
#if ENABLE(WEB_RTC)
#include "JSDOMPromiseDeferred.h"
+#include "Logging.h"
#include "RTCDTMFSender.h"
#include "RTCDTMFSenderBackend.h"
#include "RTCPeerConnection.h"
@@ -43,6 +44,12 @@
namespace WebCore {
+#if !RELEASE_LOG_DISABLED
+#define LOGIDENTIFIER_SENDER WTF::Logger::LogSiteIdentifier(logClassName(), __func__, m_connection->logIdentifier())
+#else
+#define LOGIDENTIFIER_SENDER
+#endif
+
WTF_MAKE_ISO_ALLOCATED_IMPL(RTCRtpSender);
Ref<RTCRtpSender> RTCRtpSender::create(RTCPeerConnection& connection, Ref<MediaStreamTrack>&& track, std::unique_ptr<RTCRtpSenderBackend>&& backend)
@@ -61,6 +68,10 @@
: m_trackKind(WTFMove(trackKind))
, m_backend(WTFMove(backend))
, m_connection(makeWeakPtr(connection))
+#if !RELEASE_LOG_DISABLED
+ , m_logger(connection.logger())
+ , m_logIdentifier(connection.logIdentifier())
+#endif
{
ASSERT(m_backend);
}
@@ -214,6 +225,8 @@
ExceptionOr<void> RTCRtpSender::setTransform(Optional<RTCRtpTransform>&& transform)
{
+ ALWAYS_LOG_IF(m_connection, LOGIDENTIFIER_SENDER);
+
if (transform && m_transform && *transform == *m_transform)
return { };
if (transform && transform->isAttached())
@@ -235,6 +248,13 @@
return m_transform->internalTransform();
}
+#if !RELEASE_LOG_DISABLED
+WTFLogChannel& RTCRtpSender::logChannel() const
+{
+ return LogWebRTC;
+}
+#endif
+
} // namespace WebCore
#endif // ENABLE(WEB_RTC)
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.h 2021-04-01 08:05:48 UTC (rev 275348)
@@ -47,7 +47,13 @@
class RTCPeerConnection;
struct RTCRtpCapabilities;
-class RTCRtpSender final : public RefCounted<RTCRtpSender>, public ScriptWrappable, public CanMakeWeakPtr<RTCRtpSender> {
+class RTCRtpSender final : public RefCounted<RTCRtpSender>
+ , public ScriptWrappable
+ , public CanMakeWeakPtr<RTCRtpSender>
+#if !RELEASE_LOG_DISABLED
+ , private LoggerHelper
+#endif
+ {
WTF_MAKE_ISO_ALLOCATED(RTCRtpSender);
public:
static Ref<RTCRtpSender> create(RTCPeerConnection&, Ref<MediaStreamTrack>&&, std::unique_ptr<RTCRtpSenderBackend>&&);
@@ -89,6 +95,13 @@
private:
RTCRtpSender(RTCPeerConnection&, String&& trackKind, std::unique_ptr<RTCRtpSenderBackend>&&);
+#if !RELEASE_LOG_DISABLED
+ const Logger& logger() const final { return m_logger.get(); }
+ const void* logIdentifier() const final { return m_logIdentifier; }
+ const char* logClassName() const final { return "RTCRtpSender"; }
+ WTFLogChannel& logChannel() const final;
+#endif
+
RefPtr<MediaStreamTrack> m_track;
String m_trackId;
String m_trackKind;
@@ -96,6 +109,10 @@
WeakPtr<RTCPeerConnection> m_connection;
RefPtr<RTCDTMFSender> m_dtmfSender;
Optional<RTCRtpTransform> m_transform;
+#if !RELEASE_LOG_DISABLED
+ Ref<const Logger> m_logger;
+ const void* m_logIdentifier { nullptr };
+#endif
};
} // namespace WebCore
Modified: trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl (275347 => 275348)
--- trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl 2021-04-01 06:38:24 UTC (rev 275347)
+++ trunk/Source/WebCore/Modules/mediastream/RTCRtpSender.idl 2021-04-01 08:05:48 UTC (rev 275348)
@@ -32,7 +32,6 @@
[
Conditional=WEB_RTC,
EnabledAtRuntime=PeerConnection,
- ImplementationLacksVTable,
Exposed=Window
] interface RTCRtpSender {
readonly attribute MediaStreamTrack? track;