Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1760)

Unified Diff: webrtc/logging/rtc_event_log/rtc_event_log.h

Issue 3006233002: Modularize RtcEventLog
Patch Set: Backup Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« no previous file with comments | « webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc ('k') | webrtc/logging/rtc_event_log/rtc_event_log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698