Index: webrtc/logging/rtc_event_log/rtc_event_log.h |
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log.h b/webrtc/logging/rtc_event_log/rtc_event_log.h |
index 5a7067de53dd19a3bc749a642a340679d0c11f82..69c380c20fe0d606d99956644ca5b82591e88673 100644 |
--- a/webrtc/logging/rtc_event_log/rtc_event_log.h |
+++ b/webrtc/logging/rtc_event_log/rtc_event_log.h |
@@ -11,81 +11,54 @@ |
#ifndef WEBRTC_LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_H_ |
#define WEBRTC_LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_H_ |
-#include <memory> |
#include <string> |
-#include <vector> |
#include "webrtc/api/array_view.h" |
#include "webrtc/api/rtpparameters.h" |
#include "webrtc/common_types.h" |
+#include "webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder.h" |
+// TODO(eladalon): Remove this in an upcoming CL, that will modularize the |
+// log output into its own class. |
#include "webrtc/rtc_base/platform_file.h" |
namespace webrtc { |
-// Forward declaration of storage class that is automatically generated from |
-// the protobuf file. |
-namespace rtclog { |
-class EventStream; |
- |
-struct StreamConfig { |
- uint32_t local_ssrc = 0; |
- uint32_t remote_ssrc = 0; |
- uint32_t rtx_ssrc = 0; |
- std::string rsid; |
- |
- bool remb = false; |
- std::vector<RtpExtension> rtp_extensions; |
- |
- RtcpMode rtcp_mode = RtcpMode::kReducedSize; |
- |
- struct Codec { |
- Codec(const std::string& payload_name, |
- int payload_type, |
- int rtx_payload_type) |
- : payload_name(payload_name), |
- payload_type(payload_type), |
- rtx_payload_type(rtx_payload_type) {} |
- |
- std::string payload_name; |
- int payload_type; |
- int rtx_payload_type; |
- }; |
- std::vector<Codec> codecs; |
-}; |
- |
-} // namespace rtclog |
- |
+// TODO(eladalon): !!! Which are no longer needed? |
class Clock; |
struct AudioEncoderRuntimeConfig; |
class RtpPacketReceived; |
class RtpPacketToSend; |
- |
-enum class MediaType; |
enum class BandwidthUsage; |
-enum PacketDirection { kIncomingPacket = 0, kOutgoingPacket }; |
-enum ProbeFailureReason { |
- kInvalidSendReceiveInterval, |
- kInvalidSendReceiveRatio, |
- kTimeout |
-}; |
+// TODO(eladalon): Two stages are upcoming. |
+// 1. Extend this to actually support the new encoding. |
+// 2. Get rid of the legacy encoding, allowing us to get rid of this enum. |
+enum class EncodingType { Legacy }; |
class RtcEventLog { |
public: |
virtual ~RtcEventLog() {} |
// Factory method to create an RtcEventLog object. |
- static std::unique_ptr<RtcEventLog> Create(); |
+ // TODO(eladalon): Get rid of the default value after internal projects fixed. |
+ static std::unique_ptr<RtcEventLog> Create( |
+ EncodingType encoding_type = EncodingType::Legacy); |
// TODO(nisse): webrtc::Clock is deprecated. Delete this method and |
// above forward declaration of Clock when |
// webrtc/system_wrappers/include/clock.h is deleted. |
- static std::unique_ptr<RtcEventLog> Create(const Clock* clock) { |
- return Create(); |
+ // TODO(eladalon): Get rid of the default value after internal projects fixed. |
+ static std::unique_ptr<RtcEventLog> Create( |
+ const Clock* clock, |
+ EncodingType encoding_type = EncodingType::Legacy) { |
+ return Create(encoding_type); |
} |
// Create an RtcEventLog object that does nothing. |
static std::unique_ptr<RtcEventLog> CreateNull(); |
+ // TODO(eladalon): !!! Explain |
+ static std::unique_ptr<RtcEventLogEncoder> CreateEncoder(EncodingType type); |
+ |
// Starts logging a maximum of max_size_bytes bytes to the specified file. |
// If the file already exists it will be overwritten. |
// If max_size_bytes <= 0, logging will be active until StopLogging is called. |