Enable the use of CreateDataChannel with a DataChannelInit config.
Change-Id: Ie9b783464c7b4f6c2d5624a96221f266531acbe9
Bug: b/267359410
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292861
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#39293}
diff --git a/pc/peer_connection_wrapper.cc b/pc/peer_connection_wrapper.cc
index 653d8b7..2fbca1d 100644
--- a/pc/peer_connection_wrapper.cc
+++ b/pc/peer_connection_wrapper.cc
@@ -15,6 +15,7 @@
#include <utility>
#include <vector>
+#include "absl/types/optional.h"
#include "api/function_view.h"
#include "api/set_remote_description_observer_interface.h"
#include "pc/sdp_utils.h"
@@ -312,8 +313,11 @@
}
rtc::scoped_refptr<DataChannelInterface>
-PeerConnectionWrapper::CreateDataChannel(const std::string& label) {
- auto result = pc()->CreateDataChannelOrError(label, nullptr);
+PeerConnectionWrapper::CreateDataChannel(
+ const std::string& label,
+ const absl::optional<DataChannelInit>& config) {
+ const DataChannelInit* config_ptr = config.has_value() ? &(*config) : nullptr;
+ auto result = pc()->CreateDataChannelOrError(label, config_ptr);
if (!result.ok()) {
RTC_LOG(LS_ERROR) << "CreateDataChannel failed: "
<< ToString(result.error().type()) << " "