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

Side by Side Diff: media/cast/sender/audio_sender_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/sender/audio_sender.cc ('k') | media/cast/sender/congestion_control.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/sender/audio_sender.h" 5 #include "media/cast/sender/audio_sender.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8
9 #include <memory>
8 #include <utility> 10 #include <utility>
9 11
10 #include "base/bind.h" 12 #include "base/bind.h"
11 #include "base/bind_helpers.h" 13 #include "base/bind_helpers.h"
12 #include "base/macros.h" 14 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/ptr_util.h"
14 #include "base/test/simple_test_tick_clock.h" 16 #include "base/test/simple_test_tick_clock.h"
15 #include "base/values.h" 17 #include "base/values.h"
16 #include "media/base/fake_single_thread_task_runner.h" 18 #include "media/base/fake_single_thread_task_runner.h"
17 #include "media/base/media.h" 19 #include "media/base/media.h"
18 #include "media/cast/cast_config.h" 20 #include "media/cast/cast_config.h"
19 #include "media/cast/cast_environment.h" 21 #include "media/cast/cast_environment.h"
20 #include "media/cast/constants.h" 22 #include "media/cast/constants.h"
21 #include "media/cast/net/cast_transport_config.h" 23 #include "media/cast/net/cast_transport_config.h"
22 #include "media/cast/net/cast_transport_impl.h" 24 #include "media/cast/net/cast_transport_impl.h"
23 #include "media/cast/test/utility/audio_utility.h" 25 #include "media/cast/test/utility/audio_utility.h"
(...skipping 12 matching lines...) Expand all
36 } 38 }
37 39
38 class TransportClient : public CastTransport::Client { 40 class TransportClient : public CastTransport::Client {
39 public: 41 public:
40 TransportClient() {} 42 TransportClient() {}
41 43
42 void OnStatusChanged(CastTransportStatus status) final { 44 void OnStatusChanged(CastTransportStatus status) final {
43 EXPECT_EQ(TRANSPORT_AUDIO_INITIALIZED, status); 45 EXPECT_EQ(TRANSPORT_AUDIO_INITIALIZED, status);
44 }; 46 };
45 void OnLoggingEventsReceived( 47 void OnLoggingEventsReceived(
46 scoped_ptr<std::vector<FrameEvent>> frame_events, 48 std::unique_ptr<std::vector<FrameEvent>> frame_events,
47 scoped_ptr<std::vector<PacketEvent>> packet_events) final{}; 49 std::unique_ptr<std::vector<PacketEvent>> packet_events) final{};
48 void ProcessRtpPacket(scoped_ptr<Packet> packet) final{}; 50 void ProcessRtpPacket(std::unique_ptr<Packet> packet) final{};
49 51
50 DISALLOW_COPY_AND_ASSIGN(TransportClient); 52 DISALLOW_COPY_AND_ASSIGN(TransportClient);
51 }; 53 };
52 54
53 } // namespace 55 } // namespace
54 56
55 class TestPacketSender : public PacketTransport { 57 class TestPacketSender : public PacketTransport {
56 public: 58 public:
57 TestPacketSender() : number_of_rtp_packets_(0), number_of_rtcp_packets_(0) {} 59 TestPacketSender() : number_of_rtp_packets_(0), number_of_rtcp_packets_(0) {}
58 60
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 }; 92 };
91 93
92 class AudioSenderTest : public ::testing::Test { 94 class AudioSenderTest : public ::testing::Test {
93 protected: 95 protected:
94 AudioSenderTest() { 96 AudioSenderTest() {
95 InitializeMediaLibrary(); 97 InitializeMediaLibrary();
96 testing_clock_ = new base::SimpleTestTickClock(); 98 testing_clock_ = new base::SimpleTestTickClock();
97 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); 99 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks());
98 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_); 100 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_);
99 cast_environment_ = 101 cast_environment_ =
100 new CastEnvironment(scoped_ptr<base::TickClock>(testing_clock_), 102 new CastEnvironment(std::unique_ptr<base::TickClock>(testing_clock_),
101 task_runner_, task_runner_, task_runner_); 103 task_runner_, task_runner_, task_runner_);
102 audio_config_.codec = CODEC_AUDIO_OPUS; 104 audio_config_.codec = CODEC_AUDIO_OPUS;
103 audio_config_.use_external_encoder = false; 105 audio_config_.use_external_encoder = false;
104 audio_config_.frequency = kDefaultAudioSamplingRate; 106 audio_config_.frequency = kDefaultAudioSamplingRate;
105 audio_config_.channels = 2; 107 audio_config_.channels = 2;
106 audio_config_.bitrate = kDefaultAudioEncoderBitrate; 108 audio_config_.bitrate = kDefaultAudioEncoderBitrate;
107 audio_config_.rtp_payload_type = 127; 109 audio_config_.rtp_payload_type = 127;
108 110
109 transport_ = new TestPacketSender(); 111 transport_ = new TestPacketSender();
110 transport_sender_.reset( 112 transport_sender_.reset(
111 new CastTransportImpl(testing_clock_, base::TimeDelta(), 113 new CastTransportImpl(testing_clock_, base::TimeDelta(),
112 make_scoped_ptr(new TransportClient()), 114 base::WrapUnique(new TransportClient()),
113 make_scoped_ptr(transport_), task_runner_)); 115 base::WrapUnique(transport_), task_runner_));
114 OperationalStatus operational_status = STATUS_UNINITIALIZED; 116 OperationalStatus operational_status = STATUS_UNINITIALIZED;
115 audio_sender_.reset(new AudioSender( 117 audio_sender_.reset(new AudioSender(
116 cast_environment_, 118 cast_environment_,
117 audio_config_, 119 audio_config_,
118 base::Bind(&SaveOperationalStatus, &operational_status), 120 base::Bind(&SaveOperationalStatus, &operational_status),
119 transport_sender_.get())); 121 transport_sender_.get()));
120 task_runner_->RunTasks(); 122 task_runner_->RunTasks();
121 CHECK_EQ(STATUS_INITIALIZED, operational_status); 123 CHECK_EQ(STATUS_INITIALIZED, operational_status);
122 } 124 }
123 125
124 ~AudioSenderTest() override {} 126 ~AudioSenderTest() override {}
125 127
126 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 128 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
127 TestPacketSender* transport_; // Owned by CastTransport. 129 TestPacketSender* transport_; // Owned by CastTransport.
128 scoped_ptr<CastTransportImpl> transport_sender_; 130 std::unique_ptr<CastTransportImpl> transport_sender_;
129 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; 131 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_;
130 scoped_ptr<AudioSender> audio_sender_; 132 std::unique_ptr<AudioSender> audio_sender_;
131 scoped_refptr<CastEnvironment> cast_environment_; 133 scoped_refptr<CastEnvironment> cast_environment_;
132 AudioSenderConfig audio_config_; 134 AudioSenderConfig audio_config_;
133 }; 135 };
134 136
135 TEST_F(AudioSenderTest, Encode20ms) { 137 TEST_F(AudioSenderTest, Encode20ms) {
136 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20); 138 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20);
137 scoped_ptr<AudioBus> bus( 139 std::unique_ptr<AudioBus> bus(
138 TestAudioBusFactory(audio_config_.channels, 140 TestAudioBusFactory(audio_config_.channels, audio_config_.frequency,
139 audio_config_.frequency, 141 TestAudioBusFactory::kMiddleANoteFreq, 0.5f)
140 TestAudioBusFactory::kMiddleANoteFreq, 142 .NextAudioBus(kDuration));
141 0.5f).NextAudioBus(kDuration));
142 143
143 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks()); 144 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks());
144 task_runner_->RunTasks(); 145 task_runner_->RunTasks();
145 EXPECT_LE(1, transport_->number_of_rtp_packets()); 146 EXPECT_LE(1, transport_->number_of_rtp_packets());
146 EXPECT_LE(1, transport_->number_of_rtcp_packets()); 147 EXPECT_LE(1, transport_->number_of_rtcp_packets());
147 } 148 }
148 149
149 TEST_F(AudioSenderTest, RtcpTimer) { 150 TEST_F(AudioSenderTest, RtcpTimer) {
150 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20); 151 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20);
151 scoped_ptr<AudioBus> bus( 152 std::unique_ptr<AudioBus> bus(
152 TestAudioBusFactory(audio_config_.channels, 153 TestAudioBusFactory(audio_config_.channels, audio_config_.frequency,
153 audio_config_.frequency, 154 TestAudioBusFactory::kMiddleANoteFreq, 0.5f)
154 TestAudioBusFactory::kMiddleANoteFreq, 155 .NextAudioBus(kDuration));
155 0.5f).NextAudioBus(kDuration));
156 156
157 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks()); 157 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks());
158 task_runner_->RunTasks(); 158 task_runner_->RunTasks();
159 159
160 // Make sure that we send at least one RTCP packet. 160 // Make sure that we send at least one RTCP packet.
161 base::TimeDelta max_rtcp_timeout = 161 base::TimeDelta max_rtcp_timeout =
162 base::TimeDelta::FromMilliseconds(1 + kRtcpReportIntervalMs * 3 / 2); 162 base::TimeDelta::FromMilliseconds(1 + kRtcpReportIntervalMs * 3 / 2);
163 testing_clock_->Advance(max_rtcp_timeout); 163 testing_clock_->Advance(max_rtcp_timeout);
164 task_runner_->RunTasks(); 164 task_runner_->RunTasks();
165 EXPECT_LE(1, transport_->number_of_rtp_packets()); 165 EXPECT_LE(1, transport_->number_of_rtp_packets());
166 EXPECT_LE(1, transport_->number_of_rtcp_packets()); 166 EXPECT_LE(1, transport_->number_of_rtcp_packets());
167 } 167 }
168 168
169 } // namespace cast 169 } // namespace cast
170 } // namespace media 170 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/sender/audio_sender.cc ('k') | media/cast/sender/congestion_control.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698