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

Side by Side Diff: media/cast/video_receiver/video_receiver_unittest.cc

Issue 145443005: Fixes for memory and threading issues in cast (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compile Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/memory/ref_counted.h" 6 #include "base/memory/ref_counted.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "media/cast/cast_defines.h" 9 #include "media/cast/cast_defines.h"
10 #include "media/cast/cast_environment.h" 10 #include "media/cast/cast_environment.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 using VideoReceiver::IncomingParsedRtpPacket; 64 using VideoReceiver::IncomingParsedRtpPacket;
65 }; 65 };
66 66
67 67
68 class VideoReceiverTest : public ::testing::Test { 68 class VideoReceiverTest : public ::testing::Test {
69 protected: 69 protected:
70 VideoReceiverTest() { 70 VideoReceiverTest() {
71 // Configure to use vp8 software implementation. 71 // Configure to use vp8 software implementation.
72 config_.codec = transport::kVp8; 72 config_.codec = transport::kVp8;
73 config_.use_external_decoder = false; 73 config_.use_external_decoder = false;
74 task_runner_ = new test::FakeTaskRunner(&testing_clock_); 74 testing_clock_ = new base::SimpleTestTickClock();
75 cast_environment_ = new CastEnvironment(&testing_clock_, task_runner_, 75 task_runner_ = new test::FakeTaskRunner(testing_clock_);
76 cast_environment_ = new CastEnvironment(
77 scoped_ptr<base::TickClock>(testing_clock_).Pass(), task_runner_,
76 task_runner_, task_runner_, task_runner_, task_runner_, 78 task_runner_, task_runner_, task_runner_, task_runner_,
77 task_runner_, GetDefaultCastReceiverLoggingConfig()); 79 task_runner_, GetDefaultCastReceiverLoggingConfig());
78 receiver_.reset(new 80 receiver_.reset(new
79 PeerVideoReceiver(cast_environment_, config_, &mock_transport_)); 81 PeerVideoReceiver(cast_environment_, config_, &mock_transport_));
80 testing_clock_.Advance( 82 testing_clock_->Advance(
81 base::TimeDelta::FromMilliseconds(kStartMillisecond)); 83 base::TimeDelta::FromMilliseconds(kStartMillisecond));
82 video_receiver_callback_ = new TestVideoReceiverCallback(); 84 video_receiver_callback_ = new TestVideoReceiverCallback();
83 } 85 }
84 86
85 virtual ~VideoReceiverTest() {} 87 virtual ~VideoReceiverTest() {}
86 88
87 virtual void SetUp() { 89 virtual void SetUp() {
88 payload_.assign(kPacketSize, 0); 90 payload_.assign(kPacketSize, 0);
89 91
90 // Always start with a key frame. 92 // Always start with a key frame.
91 rtp_header_.is_key_frame = true; 93 rtp_header_.is_key_frame = true;
92 rtp_header_.frame_id = 0; 94 rtp_header_.frame_id = 0;
93 rtp_header_.packet_id = 0; 95 rtp_header_.packet_id = 0;
94 rtp_header_.max_packet_id = 0; 96 rtp_header_.max_packet_id = 0;
95 rtp_header_.is_reference = false; 97 rtp_header_.is_reference = false;
96 rtp_header_.reference_frame_id = 0; 98 rtp_header_.reference_frame_id = 0;
97 } 99 }
98 100
99 transport::MockPacedPacketSender mock_transport_; 101 transport::MockPacedPacketSender mock_transport_;
100 VideoReceiverConfig config_; 102 VideoReceiverConfig config_;
101 scoped_ptr<PeerVideoReceiver> receiver_; 103 scoped_ptr<PeerVideoReceiver> receiver_;
102 std::vector<uint8> payload_; 104 std::vector<uint8> payload_;
103 RtpCastHeader rtp_header_; 105 RtpCastHeader rtp_header_;
104 base::SimpleTestTickClock testing_clock_; 106 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
105 107
106 scoped_refptr<test::FakeTaskRunner> task_runner_; 108 scoped_refptr<test::FakeTaskRunner> task_runner_;
107 scoped_refptr<CastEnvironment> cast_environment_; 109 scoped_refptr<CastEnvironment> cast_environment_;
108 scoped_refptr<TestVideoReceiverCallback> video_receiver_callback_; 110 scoped_refptr<TestVideoReceiverCallback> video_receiver_callback_;
109 }; 111 };
110 112
111 TEST_F(VideoReceiverTest, GetOnePacketEncodedframe) { 113 TEST_F(VideoReceiverTest, GetOnePacketEncodedframe) {
112 EXPECT_CALL(mock_transport_, SendRtcpPacket(_)).WillRepeatedly( 114 EXPECT_CALL(mock_transport_, SendRtcpPacket(_)).WillRepeatedly(
113 testing::Return(true)); 115 testing::Return(true));
114 receiver_->IncomingParsedRtpPacket(payload_.data(), payload_.size(), 116 receiver_->IncomingParsedRtpPacket(payload_.data(), payload_.size(),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 video_receiver_callback_); 160 video_receiver_callback_);
159 receiver_->GetRawVideoFrame(frame_decoded_callback); 161 receiver_->GetRawVideoFrame(frame_decoded_callback);
160 task_runner_->RunTasks(); 162 task_runner_->RunTasks();
161 EXPECT_EQ(video_receiver_callback_->number_times_called(), 0); 163 EXPECT_EQ(video_receiver_callback_->number_times_called(), 0);
162 } 164 }
163 165
164 // TODO(pwestin): add encoded frames. 166 // TODO(pwestin): add encoded frames.
165 167
166 } // namespace cast 168 } // namespace cast
167 } // namespace media 169 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/video_receiver/video_receiver.cc ('k') | media/cast/video_sender/external_video_encoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698