Index: webrtc/common_types.cc |
diff --git a/webrtc/common_types.cc b/webrtc/common_types.cc |
index 17bb2656748f0dce15b016228298914be1343797..3ef6f7381d56938febc5c40aefb9da514aa48404 100644 |
--- a/webrtc/common_types.cc |
+++ b/webrtc/common_types.cc |
@@ -10,8 +10,9 @@ |
#include "webrtc/common_types.h" |
-#include <limits> |
#include <string.h> |
+#include <limits> |
+#include <type_traits> |
#include "webrtc/base/checks.h" |
#include "webrtc/base/stringutils.h" |
@@ -20,6 +21,20 @@ namespace webrtc { |
StreamDataCounters::StreamDataCounters() : first_packet_time_ms(-1) {} |
+constexpr size_t StreamId::kMaxSize; |
+ |
+void StreamId::Set(const char* data, size_t size) { |
+ // If |data| contains \0, the stream id size might become less than |size|. |
+ RTC_DCHECK_LE(size, kMaxSize); |
+ memcpy(value_, data, size); |
+ if (size < kMaxSize) |
+ value_[size] = 0; |
+} |
+ |
+// StreamId is used as member of RTPHeader that is sometimes copied with memcpy |
+// and thus asume trivial destructibility. |
nisse-webrtc
2017/04/19 08:30:08
Spelling of "assume".
danilchap
2017/04/19 08:45:22
thank you!
|
+static_assert(std::is_trivially_destructible<StreamId>::value, ""); |
+ |
RTPHeaderExtension::RTPHeaderExtension() |
: hasTransmissionTimeOffset(false), |
transmissionTimeOffset(0), |