Move StreamConfig into its own file

Move StreamConfig into its own file, to allow it to be seen from different RtcEvent subclasses (introduces in upcoming CL).

BUG=webrtc:8111

Review-Url: https://codereview.webrtc.org/3013523002
Cr-Original-Commit-Position: refs/heads/master@{#19776}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 4bb3b9c6cbc0aafcd7e9c0b385bb33ceda70ee1a
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index fac7e3d..18d6084 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -26,6 +26,8 @@
   sources = [
     "rtc_event_log/rtc_event_log.h",
     "rtc_event_log/rtc_event_log_factory_interface.h",
+    "rtc_event_log/rtc_stream_config.cc",
+    "rtc_event_log/rtc_stream_config.h",
   ]
   deps = [
     "..:webrtc_common",
diff --git a/logging/rtc_event_log/rtc_event_log.h b/logging/rtc_event_log/rtc_event_log.h
index 1e4650c..40d8989 100644
--- a/logging/rtc_event_log/rtc_event_log.h
+++ b/logging/rtc_event_log/rtc_event_log.h
@@ -15,43 +15,17 @@
 #include <string>
 #include <vector>
 
+// TODO(eladalon): Get rid of this later in the CL-stack.
 #include "webrtc/api/rtpparameters.h"
 #include "webrtc/common_types.h"
+// TODO(eladalon): Get rid of this later in the CL-stack.
+#include "webrtc/logging/rtc_event_log/rtc_stream_config.h"
 #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;
-};
-
+class EventStream;  // Storage class automatically generated from protobuf.
 }  // namespace rtclog
 
 class Clock;
diff --git a/logging/rtc_event_log/rtc_stream_config.cc b/logging/rtc_event_log/rtc_stream_config.cc
new file mode 100644
index 0000000..c6e5cb9
--- /dev/null
+++ b/logging/rtc_event_log/rtc_stream_config.cc
@@ -0,0 +1,29 @@
+/*
+ *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include "webrtc/logging/rtc_event_log/rtc_stream_config.h"
+
+namespace webrtc {
+namespace rtclog {
+
+StreamConfig::StreamConfig() {}
+
+StreamConfig::~StreamConfig() {}
+
+StreamConfig::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) {}
+
+
+}  // namespace rtclog
+}  // namespace webrtc
diff --git a/logging/rtc_event_log/rtc_stream_config.h b/logging/rtc_event_log/rtc_stream_config.h
new file mode 100644
index 0000000..4a09873
--- /dev/null
+++ b/logging/rtc_event_log/rtc_stream_config.h
@@ -0,0 +1,53 @@
+/*
+ *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef WEBRTC_LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_
+#define WEBRTC_LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_
+
+#include <string>
+#include <vector>
+
+#include "webrtc/api/rtpparameters.h"
+#include "webrtc/common_types.h"
+
+namespace webrtc {
+namespace rtclog {
+
+struct StreamConfig {
+  StreamConfig();
+  ~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);
+
+    std::string payload_name;
+    int payload_type;
+    int rtx_payload_type;
+  };
+
+  std::vector<Codec> codecs;
+};
+
+}  // namespace rtclog
+}  // namespace webrtc
+
+#endif  // WEBRTC_LOGGING_RTC_EVENT_LOG_RTC_STREAM_CONFIG_H_