Index: webrtc/pc/channelmanager.cc |
diff --git a/webrtc/pc/channelmanager.cc b/webrtc/pc/channelmanager.cc |
index a0b3609ecfc89ee61f733082528514007348170a..cdfed68bb6bbd7f98b70c2f13a5bec3da48f4e57 100644 |
--- a/webrtc/pc/channelmanager.cc |
+++ b/webrtc/pc/channelmanager.cc |
@@ -20,11 +20,7 @@ |
#include "webrtc/base/stringutils.h" |
#include "webrtc/base/trace_event.h" |
#include "webrtc/media/base/device.h" |
-#include "webrtc/media/base/hybriddataengine.h" |
#include "webrtc/media/base/rtpdataengine.h" |
-#ifdef HAVE_SCTP |
-#include "webrtc/media/sctp/sctpdataengine.h" |
-#endif |
#include "webrtc/pc/srtpfilter.h" |
namespace cricket { |
@@ -33,11 +29,7 @@ namespace cricket { |
using rtc::Bind; |
static DataEngineInterface* ConstructDataEngine() { |
-#ifdef HAVE_SCTP |
- return new HybridDataEngine(new RtpDataEngine(), new SctpDataEngine()); |
-#else |
return new RtpDataEngine(); |
-#endif |
} |
ChannelManager::ChannelManager(MediaEngineInterface* me, |
@@ -344,73 +336,66 @@ void ChannelManager::DestroyVideoChannel_w(VideoChannel* video_channel) { |
delete video_channel; |
} |
-DataChannel* ChannelManager::CreateDataChannel( |
+RtpDataChannel* ChannelManager::CreateRtpDataChannel( |
webrtc::MediaControllerInterface* media_controller, |
TransportController* transport_controller, |
const std::string& content_name, |
const std::string* bundle_transport_name, |
bool rtcp, |
- bool srtp_required, |
- DataChannelType channel_type) { |
- return worker_thread_->Invoke<DataChannel*>( |
- RTC_FROM_HERE, |
- Bind(&ChannelManager::CreateDataChannel_w, this, media_controller, |
- transport_controller, content_name, bundle_transport_name, rtcp, |
- srtp_required, channel_type)); |
+ bool srtp_required) { |
+ return worker_thread_->Invoke<RtpDataChannel*>( |
+ RTC_FROM_HERE, Bind(&ChannelManager::CreateRtpDataChannel_w, this, |
+ media_controller, transport_controller, content_name, |
+ bundle_transport_name, rtcp, srtp_required)); |
} |
-DataChannel* ChannelManager::CreateDataChannel_w( |
+RtpDataChannel* ChannelManager::CreateRtpDataChannel_w( |
webrtc::MediaControllerInterface* media_controller, |
TransportController* transport_controller, |
const std::string& content_name, |
const std::string* bundle_transport_name, |
bool rtcp, |
- bool srtp_required, |
- DataChannelType data_channel_type) { |
+ bool srtp_required) { |
// This is ok to alloc from a thread other than the worker thread. |
ASSERT(initialized_); |
MediaConfig config; |
if (media_controller) { |
config = media_controller->config(); |
} |
- DataMediaChannel* media_channel = |
- data_media_engine_->CreateChannel(data_channel_type, config); |
+ DataMediaChannel* media_channel = data_media_engine_->CreateChannel(config); |
if (!media_channel) { |
- LOG(LS_WARNING) << "Failed to create data channel of type " |
- << data_channel_type; |
- return NULL; |
+ LOG(LS_WARNING) << "Failed to create RTP data channel."; |
+ return nullptr; |
} |
- // Only RTP data channels need SRTP. |
- srtp_required = srtp_required && data_channel_type == DCT_RTP; |
- DataChannel* data_channel = |
- new DataChannel(worker_thread_, network_thread_, media_channel, |
- transport_controller, content_name, rtcp, srtp_required); |
+ RtpDataChannel* data_channel = new RtpDataChannel( |
+ worker_thread_, network_thread_, media_channel, transport_controller, |
+ content_name, rtcp, srtp_required); |
data_channel->SetCryptoOptions(crypto_options_); |
if (!data_channel->Init_w(bundle_transport_name)) { |
LOG(LS_WARNING) << "Failed to init data channel."; |
delete data_channel; |
- return NULL; |
+ return nullptr; |
} |
data_channels_.push_back(data_channel); |
return data_channel; |
} |
-void ChannelManager::DestroyDataChannel(DataChannel* data_channel) { |
- TRACE_EVENT0("webrtc", "ChannelManager::DestroyDataChannel"); |
+void ChannelManager::DestroyRtpDataChannel(RtpDataChannel* data_channel) { |
+ TRACE_EVENT0("webrtc", "ChannelManager::DestroyRtpDataChannel"); |
if (data_channel) { |
worker_thread_->Invoke<void>( |
RTC_FROM_HERE, |
- Bind(&ChannelManager::DestroyDataChannel_w, this, data_channel)); |
+ Bind(&ChannelManager::DestroyRtpDataChannel_w, this, data_channel)); |
} |
} |
-void ChannelManager::DestroyDataChannel_w(DataChannel* data_channel) { |
- TRACE_EVENT0("webrtc", "ChannelManager::DestroyDataChannel_w"); |
+void ChannelManager::DestroyRtpDataChannel_w(RtpDataChannel* data_channel) { |
+ TRACE_EVENT0("webrtc", "ChannelManager::DestroyRtpDataChannel_w"); |
// Destroy data channel. |
ASSERT(initialized_); |
- DataChannels::iterator it = std::find(data_channels_.begin(), |
- data_channels_.end(), data_channel); |
+ RtpDataChannels::iterator it = |
+ std::find(data_channels_.begin(), data_channels_.end(), data_channel); |
ASSERT(it != data_channels_.end()); |
if (it == data_channels_.end()) |
return; |