Index: webrtc/video/end_to_end_tests.cc |
diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc |
index 99e52794240f475ca131c42e70abdc9288529730..8bafb72899f1af6286fad4d660a7c5d7b2b2b77f 100644 |
--- a/webrtc/video/end_to_end_tests.cc |
+++ b/webrtc/video/end_to_end_tests.cc |
@@ -2229,6 +2229,43 @@ TEST_F(EndToEndTest, RembWithSendSideBwe) { |
RunBaseTest(&test); |
} |
+TEST_F(EndToEndTest, StopSendingKeyframeRequestsForInactiveStream) { |
+ class KeyframeRequestObserver : public test::EndToEndTest { |
+ public: |
+ KeyframeRequestObserver() {} |
+ |
+ void OnVideoStreamsCreated( |
+ VideoSendStream* send_stream, |
+ const std::vector<VideoReceiveStream*>& receive_streams) override { |
+ RTC_DCHECK_EQ(1, receive_streams.size()); |
+ send_stream_ = send_stream; |
+ receive_stream_ = receive_streams[0]; |
+ } |
+ |
+ void PerformTest() override { |
+ bool frame_decoded = false; |
+ for (int i = 0; i < 50; ++i) { |
stefan-webrtc
2017/05/17 06:32:11
Change this to a while loop checking the time sinc
philipel
2017/05/18 09:23:40
Done.
|
+ if (receive_stream_->GetStats().frames_decoded > 0) { |
+ frame_decoded = true; |
+ break; |
+ } |
+ SleepMs(100); |
+ } |
+ ASSERT_TRUE(frame_decoded); |
+ send_stream_->Stop(); |
+ SleepMs(10000); |
+ ASSERT_EQ( |
+ 1U, receive_stream_->GetStats().rtcp_packet_type_counts.pli_packets); |
+ } |
+ |
+ private: |
+ VideoSendStream* send_stream_; |
+ VideoReceiveStream* receive_stream_; |
+ } test; |
+ |
+ RunBaseTest(&test); |
+} |
+ |
class ProbingTest : public test::EndToEndTest { |
public: |
explicit ProbingTest(int start_bitrate_bps) |