summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/rtc_base/socket.cc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/libwebrtc/rtc_base/socket.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/third_party/libwebrtc/rtc_base/socket.cc b/third_party/libwebrtc/rtc_base/socket.cc
index bcd62ad2a4..0908c2991f 100644
--- a/third_party/libwebrtc/rtc_base/socket.cc
+++ b/third_party/libwebrtc/rtc_base/socket.cc
@@ -10,4 +10,24 @@
#include "rtc_base/socket.h"
-namespace rtc {} // namespace rtc
+#include <cstdint>
+
+#include "rtc_base/buffer.h"
+
+namespace rtc {
+
+int Socket::RecvFrom(ReceiveBuffer& buffer) {
+ static constexpr int BUF_SIZE = 64 * 1024;
+ int64_t timestamp = -1;
+ buffer.payload.EnsureCapacity(BUF_SIZE);
+ int len = RecvFrom(buffer.payload.data(), buffer.payload.capacity(),
+ &buffer.source_address, &timestamp);
+ buffer.payload.SetSize(len > 0 ? len : 0);
+ if (len > 0 && timestamp != -1) {
+ buffer.arrival_time = webrtc::Timestamp::Micros(timestamp);
+ }
+
+ return len;
+}
+
+} // namespace rtc