Index: webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
index 4c6f0eb2c79a608ffcab960711f368313e52265f..4177352da428c56107a2b585ee47a45c91dd627e 100644 |
--- a/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
+++ b/webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc |
@@ -54,105 +54,81 @@ int DeletePacketsAndReturnOk(PacketList* packet_list) { |
class NetEqImplTest : public ::testing::Test { |
protected: |
- NetEqImplTest() |
- : neteq_(NULL), |
- config_(), |
- tick_timer_(new TickTimer), |
- mock_buffer_level_filter_(NULL), |
- buffer_level_filter_(NULL), |
- use_mock_buffer_level_filter_(true), |
- mock_decoder_database_(NULL), |
- decoder_database_(NULL), |
- use_mock_decoder_database_(true), |
- mock_delay_peak_detector_(NULL), |
- delay_peak_detector_(NULL), |
- use_mock_delay_peak_detector_(true), |
- mock_delay_manager_(NULL), |
- delay_manager_(NULL), |
- use_mock_delay_manager_(true), |
- mock_dtmf_buffer_(NULL), |
- dtmf_buffer_(NULL), |
- use_mock_dtmf_buffer_(true), |
- mock_dtmf_tone_generator_(NULL), |
- dtmf_tone_generator_(NULL), |
- use_mock_dtmf_tone_generator_(true), |
- mock_packet_buffer_(NULL), |
- packet_buffer_(NULL), |
- use_mock_packet_buffer_(true), |
- mock_payload_splitter_(NULL), |
- payload_splitter_(NULL), |
- use_mock_payload_splitter_(true), |
- timestamp_scaler_(NULL) { |
- config_.sample_rate_hz = 8000; |
- } |
+ NetEqImplTest() : config_() { config_.sample_rate_hz = 8000; } |
kwiberg-webrtc
2016/04/26 13:00:04
"config_()" is unnecessary; a call to the default
hlundin-webrtc
2016/04/26 13:20:38
Done.
|
void CreateInstance() { |
+ NetEqImpl::Dependencies deps(config_); |
+ |
+ // Get a local pointer to NetEq's TickTimer object. |
+ tick_timer_ = deps.tick_timer.get(); |
+ |
if (use_mock_buffer_level_filter_) { |
- mock_buffer_level_filter_ = new MockBufferLevelFilter; |
- buffer_level_filter_ = mock_buffer_level_filter_; |
- } else { |
- buffer_level_filter_ = new BufferLevelFilter; |
+ std::unique_ptr<MockBufferLevelFilter> mock(new MockBufferLevelFilter); |
+ mock_buffer_level_filter_ = mock.get(); |
+ deps.buffer_level_filter = std::move(mock); |
} |
+ buffer_level_filter_ = deps.buffer_level_filter.get(); |
+ |
if (use_mock_decoder_database_) { |
- mock_decoder_database_ = new MockDecoderDatabase; |
+ std::unique_ptr<MockDecoderDatabase> mock(new MockDecoderDatabase); |
+ mock_decoder_database_ = mock.get(); |
EXPECT_CALL(*mock_decoder_database_, GetActiveCngDecoder()) |
.WillOnce(ReturnNull()); |
- decoder_database_ = mock_decoder_database_; |
- } else { |
- decoder_database_ = new DecoderDatabase; |
+ deps.decoder_database = std::move(mock); |
} |
+ decoder_database_ = deps.decoder_database.get(); |
+ |
if (use_mock_delay_peak_detector_) { |
- mock_delay_peak_detector_ = new MockDelayPeakDetector; |
+ std::unique_ptr<MockDelayPeakDetector> mock(new MockDelayPeakDetector); |
+ mock_delay_peak_detector_ = mock.get(); |
EXPECT_CALL(*mock_delay_peak_detector_, Reset()).Times(1); |
- delay_peak_detector_ = mock_delay_peak_detector_; |
- } else { |
- delay_peak_detector_ = new DelayPeakDetector; |
+ deps.delay_peak_detector = std::move(mock); |
} |
+ delay_peak_detector_ = deps.delay_peak_detector.get(); |
+ |
if (use_mock_delay_manager_) { |
- mock_delay_manager_ = new MockDelayManager(config_.max_packets_in_buffer, |
- delay_peak_detector_); |
+ std::unique_ptr<MockDelayManager> mock(new MockDelayManager( |
+ config_.max_packets_in_buffer, delay_peak_detector_)); |
+ mock_delay_manager_ = mock.get(); |
EXPECT_CALL(*mock_delay_manager_, set_streaming_mode(false)).Times(1); |
- delay_manager_ = mock_delay_manager_; |
- } else { |
- delay_manager_ = |
- new DelayManager(config_.max_packets_in_buffer, delay_peak_detector_); |
+ deps.delay_manager = std::move(mock); |
} |
+ delay_manager_ = deps.delay_manager.get(); |
+ |
if (use_mock_dtmf_buffer_) { |
- mock_dtmf_buffer_ = new MockDtmfBuffer(config_.sample_rate_hz); |
- dtmf_buffer_ = mock_dtmf_buffer_; |
- } else { |
- dtmf_buffer_ = new DtmfBuffer(config_.sample_rate_hz); |
+ std::unique_ptr<MockDtmfBuffer> mock( |
+ new MockDtmfBuffer(config_.sample_rate_hz)); |
+ mock_dtmf_buffer_ = mock.get(); |
+ deps.dtmf_buffer = std::move(mock); |
} |
+ dtmf_buffer_ = deps.dtmf_buffer.get(); |
+ |
if (use_mock_dtmf_tone_generator_) { |
- mock_dtmf_tone_generator_ = new MockDtmfToneGenerator; |
- dtmf_tone_generator_ = mock_dtmf_tone_generator_; |
- } else { |
- dtmf_tone_generator_ = new DtmfToneGenerator; |
+ std::unique_ptr<MockDtmfToneGenerator> mock(new MockDtmfToneGenerator); |
+ mock_dtmf_tone_generator_ = mock.get(); |
+ deps.dtmf_tone_generator = std::move(mock); |
} |
+ dtmf_tone_generator_ = deps.dtmf_tone_generator.get(); |
+ |
if (use_mock_packet_buffer_) { |
- mock_packet_buffer_ = new MockPacketBuffer(config_.max_packets_in_buffer); |
- packet_buffer_ = mock_packet_buffer_; |
- } else { |
- packet_buffer_ = new PacketBuffer(config_.max_packets_in_buffer); |
+ std::unique_ptr<MockPacketBuffer> mock( |
+ new MockPacketBuffer(config_.max_packets_in_buffer)); |
+ mock_packet_buffer_ = mock.get(); |
+ deps.packet_buffer = std::move(mock); |
} |
+ packet_buffer_ = deps.packet_buffer.get(); |
+ |
if (use_mock_payload_splitter_) { |
- mock_payload_splitter_ = new MockPayloadSplitter; |
- payload_splitter_ = mock_payload_splitter_; |
- } else { |
- payload_splitter_ = new PayloadSplitter; |
+ std::unique_ptr<MockPayloadSplitter> mock(new MockPayloadSplitter); |
+ mock_payload_splitter_ = mock.get(); |
+ deps.payload_splitter = std::move(mock); |
} |
- timestamp_scaler_ = new TimestampScaler(*decoder_database_); |
- AccelerateFactory* accelerate_factory = new AccelerateFactory; |
- ExpandFactory* expand_factory = new ExpandFactory; |
- PreemptiveExpandFactory* preemptive_expand_factory = |
- new PreemptiveExpandFactory; |
- |
- neteq_ = new NetEqImpl( |
- config_, std::unique_ptr<TickTimer>(tick_timer_), buffer_level_filter_, |
- decoder_database_, delay_manager_, delay_peak_detector_, dtmf_buffer_, |
- dtmf_tone_generator_, packet_buffer_, payload_splitter_, |
- timestamp_scaler_, accelerate_factory, expand_factory, |
- preemptive_expand_factory); |
+ payload_splitter_ = deps.payload_splitter.get(); |
+ |
+ deps.timestamp_scaler = std::unique_ptr<TimestampScaler>( |
+ new TimestampScaler(*deps.decoder_database.get())); |
+ |
+ neteq_.reset(new NetEqImpl(config_, std::move(deps))); |
ASSERT_TRUE(neteq_ != NULL); |
} |
@@ -190,37 +166,35 @@ class NetEqImplTest : public ::testing::Test { |
if (use_mock_packet_buffer_) { |
EXPECT_CALL(*mock_packet_buffer_, Die()).Times(1); |
} |
- delete neteq_; |
} |
- NetEqImpl* neteq_; |
+ std::unique_ptr<NetEqImpl> neteq_; |
NetEq::Config config_; |
- TickTimer* tick_timer_; |
- MockBufferLevelFilter* mock_buffer_level_filter_; |
- BufferLevelFilter* buffer_level_filter_; |
- bool use_mock_buffer_level_filter_; |
- MockDecoderDatabase* mock_decoder_database_; |
- DecoderDatabase* decoder_database_; |
- bool use_mock_decoder_database_; |
- MockDelayPeakDetector* mock_delay_peak_detector_; |
- DelayPeakDetector* delay_peak_detector_; |
- bool use_mock_delay_peak_detector_; |
- MockDelayManager* mock_delay_manager_; |
- DelayManager* delay_manager_; |
- bool use_mock_delay_manager_; |
- MockDtmfBuffer* mock_dtmf_buffer_; |
- DtmfBuffer* dtmf_buffer_; |
- bool use_mock_dtmf_buffer_; |
- MockDtmfToneGenerator* mock_dtmf_tone_generator_; |
- DtmfToneGenerator* dtmf_tone_generator_; |
- bool use_mock_dtmf_tone_generator_; |
- MockPacketBuffer* mock_packet_buffer_; |
- PacketBuffer* packet_buffer_; |
- bool use_mock_packet_buffer_; |
- MockPayloadSplitter* mock_payload_splitter_; |
- PayloadSplitter* payload_splitter_; |
- bool use_mock_payload_splitter_; |
- TimestampScaler* timestamp_scaler_; |
+ TickTimer* tick_timer_ = nullptr; |
+ MockBufferLevelFilter* mock_buffer_level_filter_ = nullptr; |
+ BufferLevelFilter* buffer_level_filter_ = nullptr; |
+ bool use_mock_buffer_level_filter_ = true; |
+ MockDecoderDatabase* mock_decoder_database_ = nullptr; |
+ DecoderDatabase* decoder_database_ = nullptr; |
+ bool use_mock_decoder_database_ = true; |
+ MockDelayPeakDetector* mock_delay_peak_detector_ = nullptr; |
+ DelayPeakDetector* delay_peak_detector_ = nullptr; |
+ bool use_mock_delay_peak_detector_ = true; |
+ MockDelayManager* mock_delay_manager_ = nullptr; |
+ DelayManager* delay_manager_ = nullptr; |
+ bool use_mock_delay_manager_ = true; |
+ MockDtmfBuffer* mock_dtmf_buffer_ = nullptr; |
+ DtmfBuffer* dtmf_buffer_ = nullptr; |
+ bool use_mock_dtmf_buffer_ = true; |
+ MockDtmfToneGenerator* mock_dtmf_tone_generator_ = nullptr; |
+ DtmfToneGenerator* dtmf_tone_generator_ = nullptr; |
+ bool use_mock_dtmf_tone_generator_ = true; |
+ MockPacketBuffer* mock_packet_buffer_ = nullptr; |
+ PacketBuffer* packet_buffer_ = nullptr; |
+ bool use_mock_packet_buffer_ = true; |
+ MockPayloadSplitter* mock_payload_splitter_ = nullptr; |
+ PayloadSplitter* payload_splitter_ = nullptr; |
+ bool use_mock_payload_splitter_ = true; |
}; |