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 |