Index: talk/app/webrtc/peerconnection_unittest.cc |
diff --git a/talk/app/webrtc/peerconnection_unittest.cc b/talk/app/webrtc/peerconnection_unittest.cc |
index cf53c44f11cc246a989c4d01d28b20266eec7731..f4c896bfe0b491003fc0fc18d243bde64a261e21 100644 |
--- a/talk/app/webrtc/peerconnection_unittest.cc |
+++ b/talk/app/webrtc/peerconnection_unittest.cc |
@@ -251,6 +251,7 @@ class PeerConnectionTestClient : public webrtc::PeerConnectionObserver, |
signaling_message_receiver_->ReceiveIceMessage( |
candidate->sdp_mid(), candidate->sdp_mline_index(), ice_sdp); |
} |
+ void OnFirstMediaPacketReceived() override { received_media_packet_ = true; } |
// MediaStreamInterface callback |
void OnChanged() override { |
@@ -386,6 +387,8 @@ class PeerConnectionTestClient : public webrtc::PeerConnectionObserver, |
return true; |
} |
+ bool received_media_packet() const { return received_media_packet_; } |
+ |
void OnIceComplete() override { LOG(INFO) << id_ << "OnIceComplete"; } |
void OnDataChannel(DataChannelInterface* data_channel) override { |
@@ -924,6 +927,10 @@ class PeerConnectionTestClient : public webrtc::PeerConnectionObserver, |
rtc::scoped_refptr<DataChannelInterface> data_channel_; |
rtc::scoped_ptr<MockDataChannelObserver> data_observer_; |
+ |
+ // "true" if the PeerConnection indicated that a packet was received, |
+ // through PeerConnectionObserverInterface. |
+ bool received_media_packet_ = false; |
}; |
class P2PTestConductor : public testing::Test { |
@@ -1104,6 +1111,12 @@ class P2PTestConductor : public testing::Test { |
EXPECT_TRUE_WAIT(FramesNotPending(audio_frame_count, video_frame_count), |
kMaxWaitForFramesMs); |
+ if (audio_frame_count != -1 || video_frame_count != -1) { |
+ EXPECT_TRUE_WAIT(initiating_client_->received_media_packet(), |
+ kMaxWaitForFramesMs); |
+ EXPECT_TRUE_WAIT(receiving_client_->received_media_packet(), |
+ kMaxWaitForFramesMs); |
+ } |
} |
void SetupAndVerifyDtlsCall() { |