diff options
Diffstat (limited to 'third_party/libwebrtc/rtc_base/socket.cc')
-rw-r--r-- | third_party/libwebrtc/rtc_base/socket.cc | 22 |
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, ×tamp); + buffer.payload.SetSize(len > 0 ? len : 0); + if (len > 0 && timestamp != -1) { + buffer.arrival_time = webrtc::Timestamp::Micros(timestamp); + } + + return len; +} + +} // namespace rtc |