| OLD | NEW |
| 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 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 testing_clock_ = new base::SimpleTestTickClock(); | 98 testing_clock_ = new base::SimpleTestTickClock(); |
| 99 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); | 99 testing_clock_->Advance(base::TimeTicks::Now() - base::TimeTicks()); |
| 100 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_); | 100 task_runner_ = new FakeSingleThreadTaskRunner(testing_clock_); |
| 101 cast_environment_ = | 101 cast_environment_ = |
| 102 new CastEnvironment(std::unique_ptr<base::TickClock>(testing_clock_), | 102 new CastEnvironment(std::unique_ptr<base::TickClock>(testing_clock_), |
| 103 task_runner_, task_runner_, task_runner_); | 103 task_runner_, task_runner_, task_runner_); |
| 104 audio_config_.codec = CODEC_AUDIO_OPUS; | 104 audio_config_.codec = CODEC_AUDIO_OPUS; |
| 105 audio_config_.use_external_encoder = false; | 105 audio_config_.use_external_encoder = false; |
| 106 audio_config_.frequency = kDefaultAudioSamplingRate; | 106 audio_config_.frequency = kDefaultAudioSamplingRate; |
| 107 audio_config_.channels = 2; | 107 audio_config_.channels = 2; |
| 108 audio_config_.bitrate = kDefaultAudioEncoderBitrate; | 108 audio_config_.max_bitrate = kDefaultAudioEncoderBitrate; |
| 109 audio_config_.rtp_payload_type = 127; | 109 audio_config_.rtp_payload_type = RtpPayloadType::AUDIO_OPUS; |
| 110 | 110 |
| 111 transport_ = new TestPacketSender(); | 111 transport_ = new TestPacketSender(); |
| 112 transport_sender_.reset( | 112 transport_sender_.reset( |
| 113 new CastTransportImpl(testing_clock_, base::TimeDelta(), | 113 new CastTransportImpl(testing_clock_, base::TimeDelta(), |
| 114 base::WrapUnique(new TransportClient()), | 114 base::WrapUnique(new TransportClient()), |
| 115 base::WrapUnique(transport_), task_runner_)); | 115 base::WrapUnique(transport_), task_runner_)); |
| 116 OperationalStatus operational_status = STATUS_UNINITIALIZED; | 116 OperationalStatus operational_status = STATUS_UNINITIALIZED; |
| 117 audio_sender_.reset(new AudioSender( | 117 audio_sender_.reset(new AudioSender( |
| 118 cast_environment_, | 118 cast_environment_, |
| 119 audio_config_, | 119 audio_config_, |
| 120 base::Bind(&SaveOperationalStatus, &operational_status), | 120 base::Bind(&SaveOperationalStatus, &operational_status), |
| 121 transport_sender_.get())); | 121 transport_sender_.get())); |
| 122 task_runner_->RunTasks(); | 122 task_runner_->RunTasks(); |
| 123 CHECK_EQ(STATUS_INITIALIZED, operational_status); | 123 CHECK_EQ(STATUS_INITIALIZED, operational_status); |
| 124 } | 124 } |
| 125 | 125 |
| 126 ~AudioSenderTest() override {} | 126 ~AudioSenderTest() override {} |
| 127 | 127 |
| 128 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. | 128 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. |
| 129 TestPacketSender* transport_; // Owned by CastTransport. | 129 TestPacketSender* transport_; // Owned by CastTransport. |
| 130 std::unique_ptr<CastTransportImpl> transport_sender_; | 130 std::unique_ptr<CastTransportImpl> transport_sender_; |
| 131 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; | 131 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; |
| 132 std::unique_ptr<AudioSender> audio_sender_; | 132 std::unique_ptr<AudioSender> audio_sender_; |
| 133 scoped_refptr<CastEnvironment> cast_environment_; | 133 scoped_refptr<CastEnvironment> cast_environment_; |
| 134 AudioSenderConfig audio_config_; | 134 FrameSenderConfig audio_config_; |
| 135 }; | 135 }; |
| 136 | 136 |
| 137 TEST_F(AudioSenderTest, Encode20ms) { | 137 TEST_F(AudioSenderTest, Encode20ms) { |
| 138 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20); | 138 const base::TimeDelta kDuration = base::TimeDelta::FromMilliseconds(20); |
| 139 std::unique_ptr<AudioBus> bus( | 139 std::unique_ptr<AudioBus> bus( |
| 140 TestAudioBusFactory(audio_config_.channels, audio_config_.frequency, | 140 TestAudioBusFactory(audio_config_.channels, audio_config_.frequency, |
| 141 TestAudioBusFactory::kMiddleANoteFreq, 0.5f) | 141 TestAudioBusFactory::kMiddleANoteFreq, 0.5f) |
| 142 .NextAudioBus(kDuration)); | 142 .NextAudioBus(kDuration)); |
| 143 | 143 |
| 144 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks()); | 144 audio_sender_->InsertAudio(std::move(bus), testing_clock_->NowTicks()); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 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 |
| OLD | NEW |