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

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 1818023002: Delete class webrtc::VideoRenderer and its header file. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #include <algorithm> 10 #include <algorithm>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 116 }
117 117
118 TEST_F(EndToEndTest, RendersSingleDelayedFrame) { 118 TEST_F(EndToEndTest, RendersSingleDelayedFrame) {
119 static const int kWidth = 320; 119 static const int kWidth = 320;
120 static const int kHeight = 240; 120 static const int kHeight = 240;
121 // This constant is chosen to be higher than the timeout in the video_render 121 // This constant is chosen to be higher than the timeout in the video_render
122 // module. This makes sure that frames aren't dropped if there are no other 122 // module. This makes sure that frames aren't dropped if there are no other
123 // frames in the queue. 123 // frames in the queue.
124 static const int kDelayRenderCallbackMs = 1000; 124 static const int kDelayRenderCallbackMs = 1000;
125 125
126 class Renderer : public VideoRenderer { 126 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
127 public: 127 public:
128 Renderer() : event_(false, false) {} 128 Renderer() : event_(false, false) {}
129 129
130 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } 130 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); }
131 131
132 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } 132 bool Wait() { return event_.Wait(kDefaultTimeoutMs); }
133 133
134 rtc::Event event_; 134 rtc::Event event_;
135 } renderer; 135 } renderer;
136 136
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 Stop(); 180 Stop();
181 181
182 sender_transport.StopSending(); 182 sender_transport.StopSending();
183 receiver_transport.StopSending(); 183 receiver_transport.StopSending();
184 184
185 DestroyStreams(); 185 DestroyStreams();
186 } 186 }
187 187
188 TEST_F(EndToEndTest, TransmitsFirstFrame) { 188 TEST_F(EndToEndTest, TransmitsFirstFrame) {
189 class Renderer : public VideoRenderer { 189 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
190 public: 190 public:
191 Renderer() : event_(false, false) {} 191 Renderer() : event_(false, false) {}
192 192
193 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } 193 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); }
194 194
195 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } 195 bool Wait() { return event_.Wait(kDefaultTimeoutMs); }
196 196
197 rtc::Event event_; 197 rtc::Event event_;
198 } renderer; 198 } renderer;
199 199
(...skipping 23 matching lines...) Expand all
223 223
224 Stop(); 224 Stop();
225 225
226 sender_transport.StopSending(); 226 sender_transport.StopSending();
227 receiver_transport.StopSending(); 227 receiver_transport.StopSending();
228 228
229 DestroyStreams(); 229 DestroyStreams();
230 } 230 }
231 231
232 TEST_F(EndToEndTest, SendsAndReceivesVP9) { 232 TEST_F(EndToEndTest, SendsAndReceivesVP9) {
233 class VP9Observer : public test::EndToEndTest, public VideoRenderer { 233 class VP9Observer : public test::EndToEndTest,
234 public rtc::VideoSinkInterface<VideoFrame> {
234 public: 235 public:
235 VP9Observer() 236 VP9Observer()
236 : EndToEndTest(2 * kDefaultTimeoutMs), 237 : EndToEndTest(2 * kDefaultTimeoutMs),
237 encoder_(VideoEncoder::Create(VideoEncoder::kVp9)), 238 encoder_(VideoEncoder::Create(VideoEncoder::kVp9)),
238 decoder_(VP9Decoder::Create()), 239 decoder_(VP9Decoder::Create()),
239 frame_counter_(0) {} 240 frame_counter_(0) {}
240 241
241 void PerformTest() override { 242 void PerformTest() override {
242 EXPECT_TRUE(Wait()) 243 EXPECT_TRUE(Wait())
243 << "Timed out while waiting for enough frames to be decoded."; 244 << "Timed out while waiting for enough frames to be decoded.";
(...skipping 30 matching lines...) Expand all
274 std::unique_ptr<webrtc::VideoDecoder> decoder_; 275 std::unique_ptr<webrtc::VideoDecoder> decoder_;
275 int frame_counter_; 276 int frame_counter_;
276 } test; 277 } test;
277 278
278 RunBaseTest(&test); 279 RunBaseTest(&test);
279 } 280 }
280 281
281 #if defined(WEBRTC_END_TO_END_H264_TESTS) 282 #if defined(WEBRTC_END_TO_END_H264_TESTS)
282 283
283 TEST_F(EndToEndTest, SendsAndReceivesH264) { 284 TEST_F(EndToEndTest, SendsAndReceivesH264) {
284 class H264Observer : public test::EndToEndTest, public VideoRenderer { 285 class H264Observer : public test::EndToEndTest,
286 public rtc::VideoSinkInterface<VideoFrame> {
285 public: 287 public:
286 H264Observer() 288 H264Observer()
287 : EndToEndTest(2 * kDefaultTimeoutMs), 289 : EndToEndTest(2 * kDefaultTimeoutMs),
288 encoder_(VideoEncoder::Create(VideoEncoder::kH264)), 290 encoder_(VideoEncoder::Create(VideoEncoder::kH264)),
289 decoder_(H264Decoder::Create()), 291 decoder_(H264Decoder::Create()),
290 frame_counter_(0) {} 292 frame_counter_(0) {}
291 293
292 void PerformTest() override { 294 void PerformTest() override {
293 EXPECT_TRUE(Wait()) 295 EXPECT_TRUE(Wait())
294 << "Timed out while waiting for enough frames to be decoded."; 296 << "Timed out while waiting for enough frames to be decoded.";
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 std::set<uint16_t> retransmitted_packets_; 447 std::set<uint16_t> retransmitted_packets_;
446 uint64_t sent_rtp_packets_; 448 uint64_t sent_rtp_packets_;
447 int packets_left_to_drop_; 449 int packets_left_to_drop_;
448 int nacks_left_ GUARDED_BY(&crit_); 450 int nacks_left_ GUARDED_BY(&crit_);
449 } test; 451 } test;
450 452
451 RunBaseTest(&test); 453 RunBaseTest(&test);
452 } 454 }
453 455
454 TEST_F(EndToEndTest, CanReceiveFec) { 456 TEST_F(EndToEndTest, CanReceiveFec) {
455 class FecRenderObserver : public test::EndToEndTest, public VideoRenderer { 457 class FecRenderObserver : public test::EndToEndTest,
458 public rtc::VideoSinkInterface<VideoFrame> {
456 public: 459 public:
457 FecRenderObserver() 460 FecRenderObserver()
458 : EndToEndTest(kDefaultTimeoutMs), state_(kFirstPacket) {} 461 : EndToEndTest(kDefaultTimeoutMs), state_(kFirstPacket) {}
459 462
460 private: 463 private:
461 Action OnSendRtp(const uint8_t* packet, size_t length) override { 464 Action OnSendRtp(const uint8_t* packet, size_t length) override {
462 rtc::CritScope lock(&crit_); 465 rtc::CritScope lock(&crit_);
463 RTPHeader header; 466 RTPHeader header;
464 EXPECT_TRUE(parser_->Parse(packet, length, &header)); 467 EXPECT_TRUE(parser_->Parse(packet, length, &header));
465 468
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 } 824 }
822 825
823 TEST_F(EndToEndTest, DecodesRetransmittedFrameByRedOverRtx) { 826 TEST_F(EndToEndTest, DecodesRetransmittedFrameByRedOverRtx) {
824 DecodesRetransmittedFrame(true, true); 827 DecodesRetransmittedFrame(true, true);
825 } 828 }
826 829
827 TEST_F(EndToEndTest, UsesFrameCallbacks) { 830 TEST_F(EndToEndTest, UsesFrameCallbacks) {
828 static const int kWidth = 320; 831 static const int kWidth = 320;
829 static const int kHeight = 240; 832 static const int kHeight = 240;
830 833
831 class Renderer : public VideoRenderer { 834 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
832 public: 835 public:
833 Renderer() : event_(false, false) {} 836 Renderer() : event_(false, false) {}
834 837
835 void OnFrame(const VideoFrame& video_frame) override { 838 void OnFrame(const VideoFrame& video_frame) override {
836 EXPECT_EQ(0, *video_frame.buffer(kYPlane)) 839 EXPECT_EQ(0, *video_frame.buffer(kYPlane))
837 << "Rendered frame should have zero luma which is applied by the " 840 << "Rendered frame should have zero luma which is applied by the "
838 "pre-render callback."; 841 "pre-render callback.";
839 event_.Set(); 842 event_.Set();
840 } 843 }
841 844
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
921 924
922 sender_transport.StopSending(); 925 sender_transport.StopSending();
923 receiver_transport.StopSending(); 926 receiver_transport.StopSending();
924 927
925 DestroyStreams(); 928 DestroyStreams();
926 } 929 }
927 930
928 void EndToEndTest::ReceivesPliAndRecovers(int rtp_history_ms) { 931 void EndToEndTest::ReceivesPliAndRecovers(int rtp_history_ms) {
929 static const int kPacketsToDrop = 1; 932 static const int kPacketsToDrop = 1;
930 933
931 class PliObserver : public test::EndToEndTest, public VideoRenderer { 934 class PliObserver : public test::EndToEndTest,
935 public rtc::VideoSinkInterface<VideoFrame> {
932 public: 936 public:
933 explicit PliObserver(int rtp_history_ms) 937 explicit PliObserver(int rtp_history_ms)
934 : EndToEndTest(kLongTimeoutMs), 938 : EndToEndTest(kLongTimeoutMs),
935 rtp_history_ms_(rtp_history_ms), 939 rtp_history_ms_(rtp_history_ms),
936 nack_enabled_(rtp_history_ms > 0), 940 nack_enabled_(rtp_history_ms > 0),
937 highest_dropped_timestamp_(0), 941 highest_dropped_timestamp_(0),
938 frames_to_drop_(0), 942 frames_to_drop_(0),
939 received_pli_(false) {} 943 received_pli_(false) {}
940 944
941 private: 945 private:
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 return new test::DirectTransport(sender_call); 1286 return new test::DirectTransport(sender_call);
1283 } 1287 }
1284 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) { 1288 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) {
1285 return new test::DirectTransport(receiver_call); 1289 return new test::DirectTransport(receiver_call);
1286 } 1290 }
1287 }; 1291 };
1288 1292
1289 // Each renderer verifies that it receives the expected resolution, and as soon 1293 // Each renderer verifies that it receives the expected resolution, and as soon
1290 // as every renderer has received a frame, the test finishes. 1294 // as every renderer has received a frame, the test finishes.
1291 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) { 1295 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) {
1292 class VideoOutputObserver : public VideoRenderer { 1296 class VideoOutputObserver : public rtc::VideoSinkInterface<VideoFrame> {
1293 public: 1297 public:
1294 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings, 1298 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings,
1295 uint32_t ssrc, 1299 uint32_t ssrc,
1296 test::FrameGeneratorCapturer** frame_generator) 1300 test::FrameGeneratorCapturer** frame_generator)
1297 : settings_(settings), 1301 : settings_(settings),
1298 ssrc_(ssrc), 1302 ssrc_(ssrc),
1299 frame_generator_(frame_generator), 1303 frame_generator_(frame_generator),
1300 done_(false, false) {} 1304 done_(false, false) {}
1301 1305
1302 void OnFrame(const VideoFrame& video_frame) override { 1306 void OnFrame(const VideoFrame& video_frame) override {
(...skipping 2197 matching lines...) Expand 10 before | Expand all | Expand 10 after
3500 private: 3504 private:
3501 bool video_observed_; 3505 bool video_observed_;
3502 bool audio_observed_; 3506 bool audio_observed_;
3503 SequenceNumberUnwrapper unwrapper_; 3507 SequenceNumberUnwrapper unwrapper_;
3504 std::set<int64_t> received_packet_ids_; 3508 std::set<int64_t> received_packet_ids_;
3505 } test; 3509 } test;
3506 3510
3507 RunBaseTest(&test); 3511 RunBaseTest(&test);
3508 } 3512 }
3509 } // namespace webrtc 3513 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698