Chromium Code Reviews| Index: webrtc/api/webrtcsession.cc |
| diff --git a/webrtc/api/webrtcsession.cc b/webrtc/api/webrtcsession.cc |
| index 80352cf83246f3ff5f42a4bfa4be64f496a5e153..8d86abecc50d9eb327e97a5ef1c250315c874319 100644 |
| --- a/webrtc/api/webrtcsession.cc |
| +++ b/webrtc/api/webrtcsession.cc |
| @@ -1817,6 +1817,8 @@ bool WebRtcSession::CreateVoiceChannel(const cricket::ContentInfo* content, |
| voice_channel_->SignalDtlsSetupFailure.connect( |
| this, &WebRtcSession::OnDtlsSetupFailure); |
| + voice_channel_->SignalFirstPacketReceived.connect( |
| + this, &WebRtcSession::OnChannelFirstPacketReceived); |
| SignalVoiceChannelCreated(); |
| voice_channel_->SignalSentPacket.connect(this, |
| @@ -1840,6 +1842,8 @@ bool WebRtcSession::CreateVideoChannel(const cricket::ContentInfo* content, |
| } |
| video_channel_->SignalDtlsSetupFailure.connect( |
| this, &WebRtcSession::OnDtlsSetupFailure); |
| + video_channel_->SignalFirstPacketReceived.connect( |
| + this, &WebRtcSession::OnChannelFirstPacketReceived); |
| SignalVideoChannelCreated(); |
| video_channel_->SignalSentPacket.connect(this, |
| @@ -1881,6 +1885,21 @@ void WebRtcSession::OnDtlsSetupFailure(cricket::BaseChannel*, bool rtcp) { |
| rtcp ? kDtlsSetupFailureRtcp : kDtlsSetupFailureRtp); |
| } |
| +void WebRtcSession::OnChannelFirstPacketReceived( |
| + cricket::BaseChannel* channel) { |
| + ASSERT(signaling_thread()->IsCurrent()); |
| + |
| + if (!has_received_audio_packet_ && |
| + channel->MediaType() == cricket::MEDIA_TYPE_AUDIO) { |
| + has_received_audio_packet_ = true; |
|
pthatcher1
2016/06/08 17:35:55
To be consistent with naming, might as well call i
Zhi Huang
2016/06/09 00:37:36
Done.
|
| + SignalFirstAudioPacketReceived(); |
| + } else if (!has_received_video_packet_ && |
| + channel->MediaType() == cricket::MEDIA_TYPE_VIDEO) { |
| + has_received_video_packet_ = true; |
| + SignalFirstVideoPacketReceived(); |
| + } |
| +} |
| + |
| void WebRtcSession::OnDataChannelMessageReceived( |
| cricket::DataChannel* channel, |
| const cricket::ReceiveDataParams& params, |