Reland of "Move RtcEventLog object from inside VoiceEngine to Call.", "Fix to make the start/stop functions for the Rtc Eventlog non-virtual." and "Fix for RtcEventLog ObjC interface"
The breaking tests in Chromium have been temporarily disabled, they will be fixed and reenabled soon.
Original CLs: https://codereview.webrtc.org/1748403002/, https://codereview.webrtc.org/2107253002/ and https://codereview.webrtc.org/2106103003/.
TBR=solenberg@webrtc.org,tommi@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,tkchin@webrtc.org
BUG=webrtc:4741, webrtc:5603, chromium:609749
Review-Url: https://codereview.webrtc.org/2110113003
Cr-Commit-Position: refs/heads/master@{#13379}
diff --git a/webrtc/api/peerconnection.cc b/webrtc/api/peerconnection.cc
index cc33aa8..be61472 100644
--- a/webrtc/api/peerconnection.cc
+++ b/webrtc/api/peerconnection.cc
@@ -31,10 +31,12 @@
#include "webrtc/api/videocapturertracksource.h"
#include "webrtc/api/videotrack.h"
#include "webrtc/base/arraysize.h"
+#include "webrtc/base/bind.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/stringencode.h"
#include "webrtc/base/stringutils.h"
#include "webrtc/base/trace_event.h"
+#include "webrtc/call.h"
#include "webrtc/media/sctp/sctpdataengine.h"
#include "webrtc/pc/channelmanager.h"
#include "webrtc/system_wrappers/include/field_trial.h"
@@ -1263,6 +1265,18 @@
}
}
+bool PeerConnection::StartRtcEventLog(rtc::PlatformFile file,
+ int64_t max_size_bytes) {
+ return factory_->worker_thread()->Invoke<bool>(
+ RTC_FROM_HERE, rtc::Bind(&PeerConnection::StartRtcEventLog_w, this, file,
+ max_size_bytes));
+}
+
+void PeerConnection::StopRtcEventLog() {
+ factory_->worker_thread()->Invoke<void>(
+ RTC_FROM_HERE, rtc::Bind(&PeerConnection::StopRtcEventLog_w, this));
+}
+
const SessionDescriptionInterface* PeerConnection::local_description() const {
return session_->local_description();
}
@@ -2234,4 +2248,12 @@
return true;
}
+bool PeerConnection::StartRtcEventLog_w(rtc::PlatformFile file,
+ int64_t max_size_bytes) {
+ return media_controller_->call_w()->StartEventLog(file, max_size_bytes);
+}
+
+void PeerConnection::StopRtcEventLog_w() {
+ media_controller_->call_w()->StopEventLog();
+}
} // namespace webrtc