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

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: Rebased. 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
« no previous file with comments | « webrtc/test/video_renderer.h ('k') | webrtc/video/receive_statistics_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 } 152 }
153 153
154 TEST_F(EndToEndTest, RendersSingleDelayedFrame) { 154 TEST_F(EndToEndTest, RendersSingleDelayedFrame) {
155 static const int kWidth = 320; 155 static const int kWidth = 320;
156 static const int kHeight = 240; 156 static const int kHeight = 240;
157 // This constant is chosen to be higher than the timeout in the video_render 157 // This constant is chosen to be higher than the timeout in the video_render
158 // module. This makes sure that frames aren't dropped if there are no other 158 // module. This makes sure that frames aren't dropped if there are no other
159 // frames in the queue. 159 // frames in the queue.
160 static const int kDelayRenderCallbackMs = 1000; 160 static const int kDelayRenderCallbackMs = 1000;
161 161
162 class Renderer : public VideoRenderer { 162 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
163 public: 163 public:
164 Renderer() : event_(false, false) {} 164 Renderer() : event_(false, false) {}
165 165
166 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } 166 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); }
167 167
168 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } 168 bool Wait() { return event_.Wait(kDefaultTimeoutMs); }
169 169
170 rtc::Event event_; 170 rtc::Event event_;
171 } renderer; 171 } renderer;
172 172
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 215
216 Stop(); 216 Stop();
217 217
218 sender_transport.StopSending(); 218 sender_transport.StopSending();
219 receiver_transport.StopSending(); 219 receiver_transport.StopSending();
220 220
221 DestroyStreams(); 221 DestroyStreams();
222 } 222 }
223 223
224 TEST_F(EndToEndTest, TransmitsFirstFrame) { 224 TEST_F(EndToEndTest, TransmitsFirstFrame) {
225 class Renderer : public VideoRenderer { 225 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
226 public: 226 public:
227 Renderer() : event_(false, false) {} 227 Renderer() : event_(false, false) {}
228 228
229 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); } 229 void OnFrame(const VideoFrame& video_frame) override { event_.Set(); }
230 230
231 bool Wait() { return event_.Wait(kDefaultTimeoutMs); } 231 bool Wait() { return event_.Wait(kDefaultTimeoutMs); }
232 232
233 rtc::Event event_; 233 rtc::Event event_;
234 } renderer; 234 } renderer;
235 235
(...skipping 23 matching lines...) Expand all
259 259
260 Stop(); 260 Stop();
261 261
262 sender_transport.StopSending(); 262 sender_transport.StopSending();
263 receiver_transport.StopSending(); 263 receiver_transport.StopSending();
264 264
265 DestroyStreams(); 265 DestroyStreams();
266 } 266 }
267 267
268 TEST_F(EndToEndTest, SendsAndReceivesVP9) { 268 TEST_F(EndToEndTest, SendsAndReceivesVP9) {
269 class VP9Observer : public test::EndToEndTest, public VideoRenderer { 269 class VP9Observer : public test::EndToEndTest,
270 public rtc::VideoSinkInterface<VideoFrame> {
270 public: 271 public:
271 VP9Observer() 272 VP9Observer()
272 : EndToEndTest(2 * kDefaultTimeoutMs), 273 : EndToEndTest(2 * kDefaultTimeoutMs),
273 encoder_(VideoEncoder::Create(VideoEncoder::kVp9)), 274 encoder_(VideoEncoder::Create(VideoEncoder::kVp9)),
274 decoder_(VP9Decoder::Create()), 275 decoder_(VP9Decoder::Create()),
275 frame_counter_(0) {} 276 frame_counter_(0) {}
276 277
277 void PerformTest() override { 278 void PerformTest() override {
278 EXPECT_TRUE(Wait()) 279 EXPECT_TRUE(Wait())
279 << "Timed out while waiting for enough frames to be decoded."; 280 << "Timed out while waiting for enough frames to be decoded.";
(...skipping 30 matching lines...) Expand all
310 std::unique_ptr<webrtc::VideoDecoder> decoder_; 311 std::unique_ptr<webrtc::VideoDecoder> decoder_;
311 int frame_counter_; 312 int frame_counter_;
312 } test; 313 } test;
313 314
314 RunBaseTest(&test); 315 RunBaseTest(&test);
315 } 316 }
316 317
317 #if defined(WEBRTC_END_TO_END_H264_TESTS) 318 #if defined(WEBRTC_END_TO_END_H264_TESTS)
318 319
319 TEST_F(EndToEndTest, SendsAndReceivesH264) { 320 TEST_F(EndToEndTest, SendsAndReceivesH264) {
320 class H264Observer : public test::EndToEndTest, public VideoRenderer { 321 class H264Observer : public test::EndToEndTest,
322 public rtc::VideoSinkInterface<VideoFrame> {
321 public: 323 public:
322 H264Observer() 324 H264Observer()
323 : EndToEndTest(2 * kDefaultTimeoutMs), 325 : EndToEndTest(2 * kDefaultTimeoutMs),
324 encoder_(VideoEncoder::Create(VideoEncoder::kH264)), 326 encoder_(VideoEncoder::Create(VideoEncoder::kH264)),
325 decoder_(H264Decoder::Create()), 327 decoder_(H264Decoder::Create()),
326 frame_counter_(0) {} 328 frame_counter_(0) {}
327 329
328 void PerformTest() override { 330 void PerformTest() override {
329 EXPECT_TRUE(Wait()) 331 EXPECT_TRUE(Wait())
330 << "Timed out while waiting for enough frames to be decoded."; 332 << "Timed out while waiting for enough frames to be decoded.";
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 std::set<uint16_t> retransmitted_packets_; 483 std::set<uint16_t> retransmitted_packets_;
482 uint64_t sent_rtp_packets_; 484 uint64_t sent_rtp_packets_;
483 int packets_left_to_drop_; 485 int packets_left_to_drop_;
484 int nacks_left_ GUARDED_BY(&crit_); 486 int nacks_left_ GUARDED_BY(&crit_);
485 } test; 487 } test;
486 488
487 RunBaseTest(&test); 489 RunBaseTest(&test);
488 } 490 }
489 491
490 TEST_F(EndToEndTest, CanReceiveFec) { 492 TEST_F(EndToEndTest, CanReceiveFec) {
491 class FecRenderObserver : public test::EndToEndTest, public VideoRenderer { 493 class FecRenderObserver : public test::EndToEndTest,
494 public rtc::VideoSinkInterface<VideoFrame> {
492 public: 495 public:
493 FecRenderObserver() 496 FecRenderObserver()
494 : EndToEndTest(kDefaultTimeoutMs), state_(kFirstPacket) {} 497 : EndToEndTest(kDefaultTimeoutMs), state_(kFirstPacket) {}
495 498
496 private: 499 private:
497 Action OnSendRtp(const uint8_t* packet, size_t length) override { 500 Action OnSendRtp(const uint8_t* packet, size_t length) override {
498 rtc::CritScope lock(&crit_); 501 rtc::CritScope lock(&crit_);
499 RTPHeader header; 502 RTPHeader header;
500 EXPECT_TRUE(parser_->Parse(packet, length, &header)); 503 EXPECT_TRUE(parser_->Parse(packet, length, &header));
501 504
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 } 860 }
858 861
859 TEST_F(EndToEndTest, DecodesRetransmittedFrameByRedOverRtx) { 862 TEST_F(EndToEndTest, DecodesRetransmittedFrameByRedOverRtx) {
860 DecodesRetransmittedFrame(true, true); 863 DecodesRetransmittedFrame(true, true);
861 } 864 }
862 865
863 TEST_F(EndToEndTest, UsesFrameCallbacks) { 866 TEST_F(EndToEndTest, UsesFrameCallbacks) {
864 static const int kWidth = 320; 867 static const int kWidth = 320;
865 static const int kHeight = 240; 868 static const int kHeight = 240;
866 869
867 class Renderer : public VideoRenderer { 870 class Renderer : public rtc::VideoSinkInterface<VideoFrame> {
868 public: 871 public:
869 Renderer() : event_(false, false) {} 872 Renderer() : event_(false, false) {}
870 873
871 void OnFrame(const VideoFrame& video_frame) override { 874 void OnFrame(const VideoFrame& video_frame) override {
872 EXPECT_EQ(0, *video_frame.buffer(kYPlane)) 875 EXPECT_EQ(0, *video_frame.buffer(kYPlane))
873 << "Rendered frame should have zero luma which is applied by the " 876 << "Rendered frame should have zero luma which is applied by the "
874 "pre-render callback."; 877 "pre-render callback.";
875 event_.Set(); 878 event_.Set();
876 } 879 }
877 880
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 960
958 sender_transport.StopSending(); 961 sender_transport.StopSending();
959 receiver_transport.StopSending(); 962 receiver_transport.StopSending();
960 963
961 DestroyStreams(); 964 DestroyStreams();
962 } 965 }
963 966
964 void EndToEndTest::ReceivesPliAndRecovers(int rtp_history_ms) { 967 void EndToEndTest::ReceivesPliAndRecovers(int rtp_history_ms) {
965 static const int kPacketsToDrop = 1; 968 static const int kPacketsToDrop = 1;
966 969
967 class PliObserver : public test::EndToEndTest, public VideoRenderer { 970 class PliObserver : public test::EndToEndTest,
971 public rtc::VideoSinkInterface<VideoFrame> {
968 public: 972 public:
969 explicit PliObserver(int rtp_history_ms) 973 explicit PliObserver(int rtp_history_ms)
970 : EndToEndTest(kLongTimeoutMs), 974 : EndToEndTest(kLongTimeoutMs),
971 rtp_history_ms_(rtp_history_ms), 975 rtp_history_ms_(rtp_history_ms),
972 nack_enabled_(rtp_history_ms > 0), 976 nack_enabled_(rtp_history_ms > 0),
973 highest_dropped_timestamp_(0), 977 highest_dropped_timestamp_(0),
974 frames_to_drop_(0), 978 frames_to_drop_(0),
975 received_pli_(false) {} 979 received_pli_(false) {}
976 980
977 private: 981 private:
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 return new test::DirectTransport(sender_call); 1322 return new test::DirectTransport(sender_call);
1319 } 1323 }
1320 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) { 1324 virtual test::DirectTransport* CreateReceiveTransport(Call* receiver_call) {
1321 return new test::DirectTransport(receiver_call); 1325 return new test::DirectTransport(receiver_call);
1322 } 1326 }
1323 }; 1327 };
1324 1328
1325 // Each renderer verifies that it receives the expected resolution, and as soon 1329 // Each renderer verifies that it receives the expected resolution, and as soon
1326 // as every renderer has received a frame, the test finishes. 1330 // as every renderer has received a frame, the test finishes.
1327 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) { 1331 TEST_F(EndToEndTest, SendsAndReceivesMultipleStreams) {
1328 class VideoOutputObserver : public VideoRenderer { 1332 class VideoOutputObserver : public rtc::VideoSinkInterface<VideoFrame> {
1329 public: 1333 public:
1330 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings, 1334 VideoOutputObserver(const MultiStreamTest::CodecSettings& settings,
1331 uint32_t ssrc, 1335 uint32_t ssrc,
1332 test::FrameGeneratorCapturer** frame_generator) 1336 test::FrameGeneratorCapturer** frame_generator)
1333 : settings_(settings), 1337 : settings_(settings),
1334 ssrc_(ssrc), 1338 ssrc_(ssrc),
1335 frame_generator_(frame_generator), 1339 frame_generator_(frame_generator),
1336 done_(false, false) {} 1340 done_(false, false) {}
1337 1341
1338 void OnFrame(const VideoFrame& video_frame) override { 1342 void OnFrame(const VideoFrame& video_frame) override {
(...skipping 2263 matching lines...) Expand 10 before | Expand all | Expand 10 after
3602 private: 3606 private:
3603 bool video_observed_; 3607 bool video_observed_;
3604 bool audio_observed_; 3608 bool audio_observed_;
3605 SequenceNumberUnwrapper unwrapper_; 3609 SequenceNumberUnwrapper unwrapper_;
3606 std::set<int64_t> received_packet_ids_; 3610 std::set<int64_t> received_packet_ids_;
3607 } test; 3611 } test;
3608 3612
3609 RunBaseTest(&test); 3613 RunBaseTest(&test);
3610 } 3614 }
3611 } // namespace webrtc 3615 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/test/video_renderer.h ('k') | webrtc/video/receive_statistics_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698