| Index: webrtc/modules/audio_coding/neteq/neteq.cc
|
| diff --git a/webrtc/modules/audio_coding/neteq/neteq.cc b/webrtc/modules/audio_coding/neteq/neteq.cc
|
| index c31dbdc1a3c1920aaed7a5308af25eb6da122f92..e91aa75effbfd1e7b3387d425cdc30b280873132 100644
|
| --- a/webrtc/modules/audio_coding/neteq/neteq.cc
|
| +++ b/webrtc/modules/audio_coding/neteq/neteq.cc
|
| @@ -24,6 +24,7 @@
|
| #include "webrtc/modules/audio_coding/neteq/packet_buffer.h"
|
| #include "webrtc/modules/audio_coding/neteq/payload_splitter.h"
|
| #include "webrtc/modules/audio_coding/neteq/preemptive_expand.h"
|
| +#include "webrtc/modules/audio_coding/neteq/tick_timer.h"
|
| #include "webrtc/modules/audio_coding/neteq/timestamp_scaler.h"
|
|
|
| namespace webrtc {
|
| @@ -44,34 +45,28 @@ std::string NetEq::Config::ToString() const {
|
| // Creates all classes needed and inject them into a new NetEqImpl object.
|
| // Return the new object.
|
| NetEq* NetEq::Create(const NetEq::Config& config) {
|
| + std::unique_ptr<TickTimer> tick_timer(new TickTimer);
|
| BufferLevelFilter* buffer_level_filter = new BufferLevelFilter;
|
| DecoderDatabase* decoder_database = new DecoderDatabase;
|
| - DelayPeakDetector* delay_peak_detector = new DelayPeakDetector;
|
| - DelayManager* delay_manager =
|
| - new DelayManager(config.max_packets_in_buffer, delay_peak_detector);
|
| + DelayPeakDetector* delay_peak_detector = new DelayPeakDetector(*tick_timer);
|
| + DelayManager* delay_manager = new DelayManager(
|
| + config.max_packets_in_buffer, delay_peak_detector, *tick_timer);
|
| delay_manager->SetMaximumDelay(config.max_delay_ms);
|
| DtmfBuffer* dtmf_buffer = new DtmfBuffer(config.sample_rate_hz);
|
| DtmfToneGenerator* dtmf_tone_generator = new DtmfToneGenerator;
|
| - PacketBuffer* packet_buffer = new PacketBuffer(config.max_packets_in_buffer);
|
| + PacketBuffer* packet_buffer =
|
| + new PacketBuffer(config.max_packets_in_buffer, *tick_timer);
|
| PayloadSplitter* payload_splitter = new PayloadSplitter;
|
| TimestampScaler* timestamp_scaler = new TimestampScaler(*decoder_database);
|
| AccelerateFactory* accelerate_factory = new AccelerateFactory;
|
| ExpandFactory* expand_factory = new ExpandFactory;
|
| PreemptiveExpandFactory* preemptive_expand_factory =
|
| new PreemptiveExpandFactory;
|
| - return new NetEqImpl(config,
|
| - 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);
|
| + return new NetEqImpl(config, std::move(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);
|
| }
|
|
|
| } // namespace webrtc
|
|
|