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

Side by Side Diff: media/cast/receiver/frame_receiver_unittest.cc

Issue 1905763002: Convert //media/cast from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 | « media/cast/receiver/frame_receiver.cc ('k') | media/cast/receiver/video_decoder.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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/receiver/frame_receiver.h" 5 #include "media/cast/receiver/frame_receiver.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9
9 #include <deque> 10 #include <deque>
11 #include <memory>
10 #include <utility> 12 #include <utility>
11 13
12 #include "base/bind.h" 14 #include "base/bind.h"
13 #include "base/macros.h" 15 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 16 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/test/simple_test_tick_clock.h" 17 #include "base/test/simple_test_tick_clock.h"
17 #include "media/base/fake_single_thread_task_runner.h" 18 #include "media/base/fake_single_thread_task_runner.h"
18 #include "media/cast/cast_environment.h" 19 #include "media/cast/cast_environment.h"
19 #include "media/cast/logging/simple_event_subscriber.h" 20 #include "media/cast/logging/simple_event_subscriber.h"
20 #include "media/cast/net/cast_transport_impl.h" 21 #include "media/cast/net/cast_transport_impl.h"
21 #include "media/cast/net/mock_cast_transport.h" 22 #include "media/cast/net/mock_cast_transport.h"
22 #include "media/cast/net/rtcp/rtcp_utility.h" 23 #include "media/cast/net/rtcp/rtcp_utility.h"
23 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h" 24 #include "media/cast/net/rtcp/test_rtcp_packet_builder.h"
24 #include "media/cast/test/utility/default_config.h" 25 #include "media/cast/test/utility/default_config.h"
25 #include "testing/gmock/include/gmock/gmock.h" 26 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 13 matching lines...) Expand all
39 public: 40 public:
40 FakeFrameClient() : num_called_(0) {} 41 FakeFrameClient() : num_called_(0) {}
41 virtual ~FakeFrameClient() {} 42 virtual ~FakeFrameClient() {}
42 43
43 void AddExpectedResult(uint32_t expected_frame_id, 44 void AddExpectedResult(uint32_t expected_frame_id,
44 const base::TimeTicks& expected_playout_time) { 45 const base::TimeTicks& expected_playout_time) {
45 expected_results_.push_back( 46 expected_results_.push_back(
46 std::make_pair(expected_frame_id, expected_playout_time)); 47 std::make_pair(expected_frame_id, expected_playout_time));
47 } 48 }
48 49
49 void DeliverEncodedFrame(scoped_ptr<EncodedFrame> frame) { 50 void DeliverEncodedFrame(std::unique_ptr<EncodedFrame> frame) {
50 SCOPED_TRACE(::testing::Message() << "num_called_ is " << num_called_); 51 SCOPED_TRACE(::testing::Message() << "num_called_ is " << num_called_);
51 ASSERT_TRUE(frame) 52 ASSERT_TRUE(frame)
52 << "If at shutdown: There were unsatisfied requests enqueued."; 53 << "If at shutdown: There were unsatisfied requests enqueued.";
53 ASSERT_FALSE(expected_results_.empty()); 54 ASSERT_FALSE(expected_results_.empty());
54 EXPECT_EQ(expected_results_.front().first, frame->frame_id); 55 EXPECT_EQ(expected_results_.front().first, frame->frame_id);
55 EXPECT_EQ(expected_results_.front().second, frame->reference_time); 56 EXPECT_EQ(expected_results_.front().second, frame->reference_time);
56 expected_results_.pop_front(); 57 expected_results_.pop_front();
57 ++num_called_; 58 ++num_called_;
58 } 59 }
59 60
60 int number_times_called() const { return num_called_; } 61 int number_times_called() const { return num_called_; }
61 62
62 private: 63 private:
63 std::deque<std::pair<uint32_t, base::TimeTicks>> expected_results_; 64 std::deque<std::pair<uint32_t, base::TimeTicks>> expected_results_;
64 int num_called_; 65 int num_called_;
65 66
66 DISALLOW_COPY_AND_ASSIGN(FakeFrameClient); 67 DISALLOW_COPY_AND_ASSIGN(FakeFrameClient);
67 }; 68 };
68 } // namespace 69 } // namespace
69 70
70 class FrameReceiverTest : public ::testing::Test { 71 class FrameReceiverTest : public ::testing::Test {
71 protected: 72 protected:
72 FrameReceiverTest() { 73 FrameReceiverTest() {
73 testing_clock_ = new base::SimpleTestTickClock(); 74 testing_clock_ = new base::SimpleTestTickClock();
74 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); 75 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
75 start_time_ = testing_clock_->NowTicks(); 76 start_time_ = testing_clock_->NowTicks();
76 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_); 77 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_);
77 78
78 cast_environment_ = 79 cast_environment_ =
79 new CastEnvironment(scoped_ptr<base::TickClock>(testing_clock_), 80 new CastEnvironment(std::unique_ptr<base::TickClock>(testing_clock_),
80 task_runner_, task_runner_, task_runner_); 81 task_runner_, task_runner_, task_runner_);
81 } 82 }
82 83
83 ~FrameReceiverTest() override {} 84 ~FrameReceiverTest() override {}
84 85
85 void SetUp() final { 86 void SetUp() final {
86 payload_.assign(kPacketSize, 0); 87 payload_.assign(kPacketSize, 0);
87 88
88 // Always start with a key frame. 89 // Always start with a key frame.
89 rtp_header_.is_key_frame = true; 90 rtp_header_.is_key_frame = true;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 RtpCastHeader rtp_header_; 139 RtpCastHeader rtp_header_;
139 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 140 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
140 base::TimeTicks start_time_; 141 base::TimeTicks start_time_;
141 MockCastTransport mock_transport_; 142 MockCastTransport mock_transport_;
142 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; 143 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_;
143 scoped_refptr<CastEnvironment> cast_environment_; 144 scoped_refptr<CastEnvironment> cast_environment_;
144 FakeFrameClient frame_client_; 145 FakeFrameClient frame_client_;
145 146
146 // Important for the FrameReceiver to be declared last, since its dependencies 147 // Important for the FrameReceiver to be declared last, since its dependencies
147 // must remain alive until after its destruction. 148 // must remain alive until after its destruction.
148 scoped_ptr<FrameReceiver> receiver_; 149 std::unique_ptr<FrameReceiver> receiver_;
149 150
150 private: 151 private:
151 DISALLOW_COPY_AND_ASSIGN(FrameReceiverTest); 152 DISALLOW_COPY_AND_ASSIGN(FrameReceiverTest);
152 }; 153 };
153 154
154 TEST_F(FrameReceiverTest, RejectsUnparsablePackets) { 155 TEST_F(FrameReceiverTest, RejectsUnparsablePackets) {
155 EXPECT_CALL(mock_transport_, AddValidRtpReceiver(_, _)) 156 EXPECT_CALL(mock_transport_, AddValidRtpReceiver(_, _))
156 .WillRepeatedly(testing::Return()); 157 .WillRepeatedly(testing::Return());
157 158
158 CreateFrameReceiverOfVideo(); 159 CreateFrameReceiverOfVideo();
159 160
160 SimpleEventSubscriber event_subscriber; 161 SimpleEventSubscriber event_subscriber;
161 cast_environment_->logger()->Subscribe(&event_subscriber); 162 cast_environment_->logger()->Subscribe(&event_subscriber);
162 163
163 const bool success = receiver_->ProcessPacket( 164 const bool success = receiver_->ProcessPacket(
164 scoped_ptr<Packet>(new Packet(kPacketSize, 0xff))); 165 std::unique_ptr<Packet>(new Packet(kPacketSize, 0xff)));
165 EXPECT_FALSE(success); 166 EXPECT_FALSE(success);
166 167
167 // Confirm no log events. 168 // Confirm no log events.
168 std::vector<FrameEvent> frame_events; 169 std::vector<FrameEvent> frame_events;
169 event_subscriber.GetFrameEventsAndReset(&frame_events); 170 event_subscriber.GetFrameEventsAndReset(&frame_events);
170 EXPECT_TRUE(frame_events.empty()); 171 EXPECT_TRUE(frame_events.empty());
171 cast_environment_->logger()->Unsubscribe(&event_subscriber); 172 cast_environment_->logger()->Unsubscribe(&event_subscriber);
172 } 173 }
173 174
174 TEST_F(FrameReceiverTest, ReceivesOneFrame) { 175 TEST_F(FrameReceiverTest, ReceivesOneFrame) {
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id); 447 EXPECT_GE(kFirstFrameId + 3, frame_events[i].frame_id);
447 const int frame_offset = frame_events[i].frame_id - kFirstFrameId; 448 const int frame_offset = frame_events[i].frame_id - kFirstFrameId;
448 EXPECT_EQ(RtpTimeTicks() + (rtp_advance_per_frame * frame_offset), 449 EXPECT_EQ(RtpTimeTicks() + (rtp_advance_per_frame * frame_offset),
449 frame_events[i].rtp_timestamp); 450 frame_events[i].rtp_timestamp);
450 } 451 }
451 cast_environment_->logger()->Unsubscribe(&event_subscriber); 452 cast_environment_->logger()->Unsubscribe(&event_subscriber);
452 } 453 }
453 454
454 } // namespace cast 455 } // namespace cast
455 } // namespace media 456 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/receiver/frame_receiver.cc ('k') | media/cast/receiver/video_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698