| 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. | 
|  |