OLD | NEW |
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/audio_receiver/audio_receiver.h" | 9 #include "media/cast/audio_receiver/audio_receiver.h" |
10 #include "media/cast/cast_defines.h" | 10 #include "media/cast/cast_defines.h" |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 base::Bind(&TestAudioEncoderCallback::DeliverEncodedAudioFrame, | 125 base::Bind(&TestAudioEncoderCallback::DeliverEncodedAudioFrame, |
126 test_audio_encoder_callback_.get()); | 126 test_audio_encoder_callback_.get()); |
127 | 127 |
128 receiver_->GetEncodedAudioFrame(frame_encoded_callback); | 128 receiver_->GetEncodedAudioFrame(frame_encoded_callback); |
129 task_runner_->RunTasks(); | 129 task_runner_->RunTasks(); |
130 EXPECT_EQ(1, test_audio_encoder_callback_->number_times_called()); | 130 EXPECT_EQ(1, test_audio_encoder_callback_->number_times_called()); |
131 } | 131 } |
132 | 132 |
133 TEST_F(AudioReceiverTest, MultiplePendingGetCalls) { | 133 TEST_F(AudioReceiverTest, MultiplePendingGetCalls) { |
134 Configure(true); | 134 Configure(true); |
135 EXPECT_CALL(mock_transport_, SendRtcpPacket(testing::_)).Times(2); | 135 EXPECT_CALL(mock_transport_, SendRtcpPacket(testing::_)).WillRepeatedly( |
| 136 testing::Return(true)); |
136 | 137 |
137 AudioFrameEncodedCallback frame_encoded_callback = | 138 AudioFrameEncodedCallback frame_encoded_callback = |
138 base::Bind(&TestAudioEncoderCallback::DeliverEncodedAudioFrame, | 139 base::Bind(&TestAudioEncoderCallback::DeliverEncodedAudioFrame, |
139 test_audio_encoder_callback_.get()); | 140 test_audio_encoder_callback_.get()); |
140 | 141 |
141 receiver_->GetEncodedAudioFrame(frame_encoded_callback); | 142 receiver_->GetEncodedAudioFrame(frame_encoded_callback); |
142 | 143 |
143 receiver_->IncomingParsedRtpPacket(payload_.data(), payload_.size(), | 144 receiver_->IncomingParsedRtpPacket(payload_.data(), payload_.size(), |
144 rtp_header_); | 145 rtp_header_); |
145 | 146 |
146 EncodedAudioFrame audio_frame; | 147 EncodedAudioFrame audio_frame; |
147 base::TimeTicks playout_time; | 148 base::TimeTicks playout_time; |
148 test_audio_encoder_callback_->SetExpectedResult(0, testing_clock_.NowTicks()); | 149 test_audio_encoder_callback_->SetExpectedResult(0, testing_clock_.NowTicks()); |
149 | 150 |
150 task_runner_->RunTasks(); | 151 task_runner_->RunTasks(); |
151 EXPECT_EQ(1, test_audio_encoder_callback_->number_times_called()); | 152 EXPECT_EQ(1, test_audio_encoder_callback_->number_times_called()); |
152 | 153 |
153 TestRtcpPacketBuilder rtcp_packet; | 154 TestRtcpPacketBuilder rtcp_packet; |
154 | 155 |
155 uint32 ntp_high; | 156 uint32 ntp_high; |
156 uint32 ntp_low; | 157 uint32 ntp_low; |
157 ConvertTimeToNtp(testing_clock_.NowTicks(), &ntp_high, &ntp_low); | 158 ConvertTimeTicksToNtp(testing_clock_.NowTicks(), &ntp_high, &ntp_low); |
158 rtcp_packet.AddSrWithNtp(audio_config_.feedback_ssrc, ntp_high, ntp_low, | 159 rtcp_packet.AddSrWithNtp(audio_config_.feedback_ssrc, ntp_high, ntp_low, |
159 rtp_header_.webrtc.header.timestamp); | 160 rtp_header_.webrtc.header.timestamp); |
160 | 161 |
161 testing_clock_.Advance(base::TimeDelta::FromMilliseconds(20)); | 162 testing_clock_.Advance(base::TimeDelta::FromMilliseconds(20)); |
162 | 163 |
163 receiver_->IncomingPacket(rtcp_packet.Packet(), rtcp_packet.Length(), | 164 receiver_->IncomingPacket(rtcp_packet.Packet(), rtcp_packet.Length(), |
164 base::Bind(AudioReceiverTest::DummyDeletePacket, rtcp_packet.Packet())); | 165 base::Bind(AudioReceiverTest::DummyDeletePacket, rtcp_packet.Packet())); |
165 | 166 |
166 // Make sure that we are not continuous and that the RTP timestamp represent a | 167 // Make sure that we are not continuous and that the RTP timestamp represent a |
167 // time in the future. | 168 // time in the future. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 task_runner_->RunTasks(); | 204 task_runner_->RunTasks(); |
204 EXPECT_EQ(3, test_audio_encoder_callback_->number_times_called()); | 205 EXPECT_EQ(3, test_audio_encoder_callback_->number_times_called()); |
205 } | 206 } |
206 | 207 |
207 // TODO(mikhal): Add encoded frames. | 208 // TODO(mikhal): Add encoded frames. |
208 TEST_F(AudioReceiverTest, GetRawFrame) { | 209 TEST_F(AudioReceiverTest, GetRawFrame) { |
209 } | 210 } |
210 | 211 |
211 } // namespace cast | 212 } // namespace cast |
212 } // namespace media | 213 } // namespace media |
OLD | NEW |