Add interfaces for using MediaTransport as the transport for data channels.
Adds the types and methods required for sending and receiving data
channel messages over the media transport. These are:
- A DataMessageType to distinguish between text, binary, and control
messages
- A parameters struct for sending data messages, which specifies the
channel id, type, and ordering/reliability parameters
- A sink for data-channel related callbacks (receive data, begin
closing procedure, and end closing procedure)
- A method to set the sink for data channels
- Methods to open, close, and send on data channels
These methods, combined with the state sink, allow PeerConnection to
implement the DataChannelProviderInterface using MediaTransport as the
underlying transport.
Change-Id: Iccb2ba374594762a5b4f995564e2a1ff7d8805f5
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/108541
Reviewed-by: Anton Sukhanov <sukhanov@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25454}
diff --git a/api/DEPS b/api/DEPS
index 3fe2bff..def36c7 100644
--- a/api/DEPS
+++ b/api/DEPS
@@ -96,6 +96,10 @@
"+rtc_base/scoped_ref_ptr.h",
],
+ "media_transport_interface\.h": [
+ "+rtc_base/copyonwritebuffer.h", # As used by datachannelinterface.h
+ ],
+
"peerconnectionfactoryproxy\.h": [
"+rtc_base/bind.h",
],