Chromium Code Reviews| Index: webrtc/modules/audio_coding/neteq/neteq_impl.h | 
| diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.h b/webrtc/modules/audio_coding/neteq/neteq_impl.h | 
| index 9d4a9ff26966c703065c36f4da367e44562cc06f..7f39474a738c3caee668692ec86766800fcab4a7 100644 | 
| --- a/webrtc/modules/audio_coding/neteq/neteq_impl.h | 
| +++ b/webrtc/modules/audio_coding/neteq/neteq_impl.h | 
| @@ -66,22 +66,34 @@ class NetEqImpl : public webrtc::NetEq { | 
| kVadPassive | 
| }; | 
| + struct Dependencies { | 
| + // The constructor populates the Dependencies struct with the default | 
| + // implementations of the objects. They can all be replaced by the user | 
| + // before sending the struct to the NetEqImpl constructor. However, there | 
| + // are dependencies between some of the classes inside the struct, so | 
| + // swapping out one may make it necessary to re-create another one. | 
| + explicit Dependencies(const NetEq::Config& config); | 
| + ~Dependencies(); | 
| + | 
| + std::unique_ptr<TickTimer> tick_timer; | 
| + std::unique_ptr<BufferLevelFilter> buffer_level_filter; | 
| + std::unique_ptr<DecoderDatabase> decoder_database; | 
| + std::unique_ptr<DelayPeakDetector> delay_peak_detector; | 
| + std::unique_ptr<DelayManager> delay_manager; | 
| + std::unique_ptr<DtmfBuffer> dtmf_buffer; | 
| + std::unique_ptr<DtmfToneGenerator> dtmf_tone_generator; | 
| + std::unique_ptr<PacketBuffer> packet_buffer; | 
| + std::unique_ptr<PayloadSplitter> payload_splitter; | 
| + std::unique_ptr<TimestampScaler> timestamp_scaler; | 
| + std::unique_ptr<AccelerateFactory> accelerate_factory; | 
| + std::unique_ptr<ExpandFactory> expand_factory; | 
| + std::unique_ptr<PreemptiveExpandFactory> preemptive_expand_factory; | 
| + }; | 
| + | 
| // Creates a new NetEqImpl object. The object will assume ownership of all | 
| // injected dependencies, and will delete them when done. | 
| 
 
kwiberg-webrtc
2016/04/26 13:00:04
You no longer need the second sentence in this com
 
hlundin-webrtc
2016/04/26 13:20:38
Done.
 
 | 
| NetEqImpl(const NetEq::Config& config, | 
| - std::unique_ptr<TickTimer> tick_timer, | 
| - BufferLevelFilter* buffer_level_filter, | 
| - DecoderDatabase* decoder_database, | 
| - DelayManager* delay_manager, | 
| - DelayPeakDetector* delay_peak_detector, | 
| - DtmfBuffer* dtmf_buffer, | 
| - DtmfToneGenerator* dtmf_tone_generator, | 
| - PacketBuffer* packet_buffer, | 
| - PayloadSplitter* payload_splitter, | 
| - TimestampScaler* timestamp_scaler, | 
| - AccelerateFactory* accelerate_factory, | 
| - ExpandFactory* expand_factory, | 
| - PreemptiveExpandFactory* preemptive_expand_factory, | 
| + Dependencies&& deps, | 
| bool create_components = true); | 
| ~NetEqImpl() override; |