| Index: webrtc/p2p/base/fakeicetransport.h
 | 
| diff --git a/webrtc/p2p/base/fakeicetransport.h b/webrtc/p2p/base/fakeicetransport.h
 | 
| index 2b0662f8561cde3f69fd713f8ae0ea44f26debec..bc003a32e3a099fcdd298dab62db79d123d9a21b 100644
 | 
| --- a/webrtc/p2p/base/fakeicetransport.h
 | 
| +++ b/webrtc/p2p/base/fakeicetransport.h
 | 
| @@ -161,6 +161,11 @@ class FakeIceTransport : public IceTransportInternal {
 | 
|    // Fake PacketTransportInternal implementation.
 | 
|    bool writable() const override { return writable_; }
 | 
|    bool receiving() const override { return receiving_; }
 | 
| +  // If combine is enabled, every two consecutive packets to be sent with
 | 
| +  // "SendPacket" will be combined into one outgoing packet.
 | 
| +  void combine_outgoing_packets(bool combine) {
 | 
| +    combine_outgoing_packets_ = combine;
 | 
| +  }
 | 
|    int SendPacket(const char* data,
 | 
|                   size_t len,
 | 
|                   const rtc::PacketOptions& options,
 | 
| @@ -168,14 +173,18 @@ class FakeIceTransport : public IceTransportInternal {
 | 
|      if (!dest_) {
 | 
|        return -1;
 | 
|      }
 | 
| -    rtc::CopyOnWriteBuffer packet(data, len);
 | 
| -    if (async_) {
 | 
| -      invoker_.AsyncInvokeDelayed<void>(
 | 
| -          RTC_FROM_HERE, rtc::Thread::Current(),
 | 
| -          rtc::Bind(&FakeIceTransport::SendPacketInternal, this, packet),
 | 
| -          async_delay_ms_);
 | 
| -    } else {
 | 
| -      SendPacketInternal(packet);
 | 
| +
 | 
| +    send_packet_.AppendData(data, len);
 | 
| +    if (!combine_outgoing_packets_ || send_packet_.size() > len) {
 | 
| +      rtc::CopyOnWriteBuffer packet(std::move(send_packet_));
 | 
| +      if (async_) {
 | 
| +        invoker_.AsyncInvokeDelayed<void>(
 | 
| +            RTC_FROM_HERE, rtc::Thread::Current(),
 | 
| +            rtc::Bind(&FakeIceTransport::SendPacketInternal, this, packet),
 | 
| +            async_delay_ms_);
 | 
| +      } else {
 | 
| +        SendPacketInternal(packet);
 | 
| +      }
 | 
|      }
 | 
|      rtc::SentPacket sent_packet(options.packet_id, rtc::TimeMillis());
 | 
|      SignalSentPacket(this, sent_packet);
 | 
| @@ -233,6 +242,8 @@ class FakeIceTransport : public IceTransportInternal {
 | 
|    bool had_connection_ = false;
 | 
|    bool writable_ = false;
 | 
|    bool receiving_ = false;
 | 
| +  bool combine_outgoing_packets_ = false;
 | 
| +  rtc::CopyOnWriteBuffer send_packet_;
 | 
|  };
 | 
|  
 | 
|  }  // namespace cricket
 | 
| 
 |