Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Unified Diff: talk/app/webrtc/webrtcsession.cc

Issue 1363573002: Wire up transport sequence number / send time callbacks to webrtc via libjingle. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Connect to SignalSentPacket when enabling bundle. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/webrtcsession.cc
diff --git a/talk/app/webrtc/webrtcsession.cc b/talk/app/webrtc/webrtcsession.cc
index 2ab9a1e6969599983724f9ffdce7aebb91b5d418..b1f748e10d0f7346a176c087ec2479e1363d5f23 100644
--- a/talk/app/webrtc/webrtcsession.cc
+++ b/talk/app/webrtc/webrtcsession.cc
@@ -45,12 +45,14 @@
#include "talk/session/media/channelmanager.h"
#include "talk/session/media/mediasession.h"
#include "webrtc/base/basictypes.h"
+#include "webrtc/base/bind.h"
#include "webrtc/base/checks.h"
#include "webrtc/base/helpers.h"
#include "webrtc/base/logging.h"
#include "webrtc/base/stringencode.h"
#include "webrtc/base/stringutils.h"
#include "webrtc/p2p/base/portallocator.h"
+#include "webrtc/p2p/base/transportchannel.h"
using cricket::ContentInfo;
using cricket::ContentInfos;
@@ -63,6 +65,8 @@ using cricket::STUN_PORT_TYPE;
using cricket::RELAY_PORT_TYPE;
using cricket::PRFLX_PORT_TYPE;
+using rtc::Bind;
+
namespace webrtc {
// Error messages
@@ -536,12 +540,12 @@ class IceRestartAnswerLatch {
bool ice_restart_;
};
-WebRtcSession::WebRtcSession(
- cricket::ChannelManager* channel_manager,
- rtc::Thread* signaling_thread,
- rtc::Thread* worker_thread,
- cricket::PortAllocator* port_allocator,
- MediaStreamSignaling* mediastream_signaling)
+WebRtcSession::WebRtcSession(cricket::ChannelManager* channel_manager,
+ rtc::Thread* signaling_thread,
+ rtc::Thread* worker_thread,
+ cricket::PortAllocator* port_allocator,
+ MediaStreamSignaling* mediastream_signaling,
+ webrtc::CallFactory* call_factory)
: cricket::BaseSession(signaling_thread,
worker_thread,
port_allocator,
@@ -552,6 +556,7 @@ WebRtcSession::WebRtcSession(
// Due to this constraint session id |sid_| is max limited to LLONG_MAX.
channel_manager_(channel_manager),
mediastream_signaling_(mediastream_signaling),
+ call_factory_(call_factory),
ice_observer_(NULL),
ice_connection_state_(PeerConnectionInterface::kIceConnectionNew),
ice_connection_receiving_(true),
@@ -777,7 +782,8 @@ bool WebRtcSession::Initialize(
}
media_controller_.reset(MediaControllerInterface::Create(
- worker_thread(), channel_manager_->media_engine()->GetVoE()));
+ call_factory_, worker_thread(),
+ channel_manager_->media_engine()->GetVoE()));
pthatcher1 2015/10/09 20:57:48 The addition of the CallFactory is really just so
stefan-webrtc 2015/10/10 15:32:51 That might be an option, but after a quick look it
stefan-webrtc 2015/10/12 10:11:44 I checked this again today and it turned out not t
return true;
}
@@ -1159,6 +1165,8 @@ bool WebRtcSession::EnableBundle(const cricket::ContentGroup& bundle) {
LOG(LS_WARNING) << "Failed to enable BUNDLE for " << ch->content_name();
return false;
}
+ ch->transport_channel()->SignalSentPacket.connect(
+ this, &WebRtcSession::OnSentPacket);
pthatcher1 2015/10/09 20:57:48 Actually, if you listen to all of the BaseChannels
stefan-webrtc 2015/10/10 15:32:51 Ah ok. I misunderstood you and thought that for in
LOG(LS_INFO) << "Enabled BUNDLE for " << ch->content_name() << " on "
<< transport_name << ".";
return true;
@@ -1827,6 +1835,8 @@ bool WebRtcSession::CreateVoiceChannel(const cricket::ContentInfo* content) {
voice_channel_->SignalDtlsSetupFailure.connect(
this, &WebRtcSession::OnDtlsSetupFailure);
+ voice_channel_->transport_channel()->SignalSentPacket.connect(
+ this, &WebRtcSession::OnSentPacket);
return true;
}
@@ -1840,6 +1850,8 @@ bool WebRtcSession::CreateVideoChannel(const cricket::ContentInfo* content) {
video_channel_->SignalDtlsSetupFailure.connect(
this, &WebRtcSession::OnDtlsSetupFailure);
+ video_channel_->transport_channel()->SignalSentPacket.connect(
+ this, &WebRtcSession::OnSentPacket);
return true;
}
@@ -1862,6 +1874,8 @@ bool WebRtcSession::CreateDataChannel(const cricket::ContentInfo* content) {
data_channel_->SignalDtlsSetupFailure.connect(
this, &WebRtcSession::OnDtlsSetupFailure);
+ data_channel_->transport_channel()->SignalSentPacket.connect(
+ this, &WebRtcSession::OnSentPacket);
return true;
}
@@ -2185,4 +2199,9 @@ void WebRtcSession::ReportNegotiatedCiphers(
}
}
+void WebRtcSession::OnSentPacket(cricket::TransportChannel* channel,
+ const rtc::SentPacket& sent_packet) {
+ media_controller_->call_w()->OnSentPacket(sent_packet);
+}
+
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698