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 "media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer.h" | 5 #include "media/cast/transport/rtp_sender/rtp_packetizer/rtp_packetizer.h" |
6 | 6 |
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/test/fake_task_runner.h" | 9 #include "media/cast/test/fake_task_runner.h" |
10 #include "media/cast/transport/pacing/paced_sender.h" | 10 #include "media/cast/transport/pacing/paced_sender.h" |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 protected: | 94 protected: |
95 RtpPacketizerTest() | 95 RtpPacketizerTest() |
96 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), | 96 : task_runner_(new test::FakeTaskRunner(&testing_clock_)), |
97 video_frame_(), | 97 video_frame_(), |
98 packet_storage_(&testing_clock_, kMaxPacketStorageTimeMs) { | 98 packet_storage_(&testing_clock_, kMaxPacketStorageTimeMs) { |
99 config_.sequence_number = kSeqNum; | 99 config_.sequence_number = kSeqNum; |
100 config_.ssrc = kSsrc; | 100 config_.ssrc = kSsrc; |
101 config_.payload_type = kPayload; | 101 config_.payload_type = kPayload; |
102 config_.max_payload_length = kMaxPacketLength; | 102 config_.max_payload_length = kMaxPacketLength; |
103 transport_.reset(new TestRtpPacketTransport(config_)); | 103 transport_.reset(new TestRtpPacketTransport(config_)); |
104 pacer_.reset(new PacedSender(&testing_clock_, NULL, transport_.get(), | 104 pacer_.reset(new PacedSender(&testing_clock_, |
105 task_runner_, | 105 transport_.get(), |
106 base::Bind(UpdateCastTransportStatus))); | 106 task_runner_)); |
107 rtp_packetizer_.reset(new RtpPacketizer(pacer_.get(), &packet_storage_, | 107 rtp_packetizer_.reset(new RtpPacketizer(pacer_.get(), &packet_storage_, |
108 config_)); | 108 config_)); |
109 video_frame_.key_frame = false; | 109 video_frame_.key_frame = false; |
110 video_frame_.frame_id = 0; | 110 video_frame_.frame_id = 0; |
111 video_frame_.last_referenced_frame_id = kStartFrameId; | 111 video_frame_.last_referenced_frame_id = kStartFrameId; |
112 video_frame_.data.assign(kFrameSize, 123); | 112 video_frame_.data.assign(kFrameSize, 123); |
113 } | 113 } |
114 | 114 |
115 virtual ~RtpPacketizerTest() {} | 115 virtual ~RtpPacketizerTest() {} |
116 | 116 |
117 void RunTasks(int during_ms) { | 117 void RunTasks(int during_ms) { |
118 for (int i = 0; i < during_ms; ++i) { | 118 for (int i = 0; i < during_ms; ++i) { |
119 // Call process the timers every 1 ms. | 119 // Call process the timers every 1 ms. |
120 testing_clock_.Advance(base::TimeDelta::FromMilliseconds(1)); | 120 testing_clock_.Advance(base::TimeDelta::FromMilliseconds(1)); |
121 task_runner_->RunTasks(); | 121 task_runner_->RunTasks(); |
122 } | 122 } |
123 } | 123 } |
124 static void UpdateCastTransportStatus(CastTransportStatus status) { | |
125 EXPECT_EQ(status, TRANSPORT_INITIALIZED); | |
126 } | |
127 | 124 |
128 base::SimpleTestTickClock testing_clock_; | 125 base::SimpleTestTickClock testing_clock_; |
129 scoped_refptr<test::FakeTaskRunner> task_runner_; | 126 scoped_refptr<test::FakeTaskRunner> task_runner_; |
130 EncodedVideoFrame video_frame_; | 127 EncodedVideoFrame video_frame_; |
131 PacketStorage packet_storage_; | 128 PacketStorage packet_storage_; |
132 RtpPacketizerConfig config_; | 129 RtpPacketizerConfig config_; |
133 scoped_ptr<TestRtpPacketTransport> transport_; | 130 scoped_ptr<TestRtpPacketTransport> transport_; |
134 scoped_ptr<PacedSender> pacer_; | 131 scoped_ptr<PacedSender> pacer_; |
135 scoped_ptr<RtpPacketizer> rtp_packetizer_; | 132 scoped_ptr<RtpPacketizer> rtp_packetizer_; |
136 | 133 |
(...skipping 23 matching lines...) Expand all Loading... |
160 testing_clock_.NowTicks()); | 157 testing_clock_.NowTicks()); |
161 RunTasks(33 + 1); | 158 RunTasks(33 + 1); |
162 EXPECT_EQ(expected_num_of_packets, rtp_packetizer_->send_packets_count()); | 159 EXPECT_EQ(expected_num_of_packets, rtp_packetizer_->send_packets_count()); |
163 EXPECT_EQ(kFrameSize, rtp_packetizer_->send_octet_count()); | 160 EXPECT_EQ(kFrameSize, rtp_packetizer_->send_octet_count()); |
164 EXPECT_EQ(expected_num_of_packets, transport_->number_of_packets_received()); | 161 EXPECT_EQ(expected_num_of_packets, transport_->number_of_packets_received()); |
165 } | 162 } |
166 | 163 |
167 } // namespace transport | 164 } // namespace transport |
168 } // namespace cast | 165 } // namespace cast |
169 } // namespace media | 166 } // namespace media |
OLD | NEW |