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/peerconnectioninterface.h b/webrtc/api/peerconnectioninterface.h
index e28a27e..39c4856 100644
--- a/webrtc/api/peerconnectioninterface.h
+++ b/webrtc/api/peerconnectioninterface.h
@@ -493,6 +493,21 @@
virtual IceConnectionState ice_connection_state() = 0;
virtual IceGatheringState ice_gathering_state() = 0;
+ // Starts RtcEventLog using existing file. Takes ownership of |file| and
+ // passes it on to Call, which will take the ownership. If the
+ // operation fails the file will be closed. The logging will stop
+ // automatically after 10 minutes have passed, or when the StopRtcEventLog
+ // function is called.
+ // TODO(ivoc): Make this pure virtual when Chrome is updated.
+ virtual bool StartRtcEventLog(rtc::PlatformFile file,
+ int64_t max_size_bytes) {
+ return false;
+ }
+
+ // Stops logging the RtcEventLog.
+ // TODO(ivoc): Make this pure virtual when Chrome is updated.
+ virtual void StopRtcEventLog() {}
+
// Terminates all media and closes the transport.
virtual void Close() = 0;
@@ -659,25 +674,19 @@
// Stops logging the AEC dump.
virtual void StopAecDump() = 0;
- // Starts RtcEventLog using existing file. Takes ownership of |file| and
- // passes it on to VoiceEngine, which will take the ownership. If the
- // operation fails the file will be closed. The logging will stop
- // automatically after 10 minutes have passed, or when the StopRtcEventLog
- // function is called. A maximum filesize in bytes can be set, the logging
- // will be stopped before exceeding this limit. If max_size_bytes is set to a
- // value <= 0, no limit will be used.
- // This function as well as the StopRtcEventLog don't really belong on this
- // interface, this is a temporary solution until we move the logging object
- // from inside voice engine to webrtc::Call, which will happen when the VoE
- // restructuring effort is further along.
- // TODO(ivoc): Move this into being:
- // PeerConnection => MediaController => webrtc::Call.
+ // This function is deprecated and will be removed when Chrome is updated to
+ // use the equivalent function on PeerConnectionInterface.
+ // TODO(ivoc) Remove after Chrome is updated.
virtual bool StartRtcEventLog(rtc::PlatformFile file,
int64_t max_size_bytes) = 0;
- // Deprecated, use the version above.
+ // This function is deprecated and will be removed when Chrome is updated to
+ // use the equivalent function on PeerConnectionInterface.
+ // TODO(ivoc) Remove after Chrome is updated.
virtual bool StartRtcEventLog(rtc::PlatformFile file) = 0;
- // Stops logging the RtcEventLog.
+ // This function is deprecated and will be removed when Chrome is updated to
+ // use the equivalent function on PeerConnectionInterface.
+ // TODO(ivoc) Remove after Chrome is updated.
virtual void StopRtcEventLog() = 0;
protected: