Chromium Code Reviews| Index: webrtc/modules/audio_coding/neteq/decision_logic.h |
| diff --git a/webrtc/modules/audio_coding/neteq/decision_logic.h b/webrtc/modules/audio_coding/neteq/decision_logic.h |
| index 18f424aa0984fda2f5f9e4833106b28d7eb32e79..008655d1a2bb930d6f184ca394e2648b31c670fd 100644 |
| --- a/webrtc/modules/audio_coding/neteq/decision_logic.h |
| +++ b/webrtc/modules/audio_coding/neteq/decision_logic.h |
| @@ -14,6 +14,7 @@ |
| #include "webrtc/base/constructormagic.h" |
| #include "webrtc/modules/audio_coding/neteq/defines.h" |
| #include "webrtc/modules/audio_coding/neteq/include/neteq.h" |
| +#include "webrtc/modules/audio_coding/neteq/tick_timer.h" |
| #include "webrtc/typedefs.h" |
| namespace webrtc { |
| @@ -39,7 +40,8 @@ class DecisionLogic { |
| DecoderDatabase* decoder_database, |
| const PacketBuffer& packet_buffer, |
| DelayManager* delay_manager, |
| - BufferLevelFilter* buffer_level_filter); |
| + BufferLevelFilter* buffer_level_filter, |
| + const TickTimer* tick_timer); |
| // Constructor. |
| DecisionLogic(int fs_hz, |
| @@ -48,10 +50,10 @@ class DecisionLogic { |
| DecoderDatabase* decoder_database, |
| const PacketBuffer& packet_buffer, |
| DelayManager* delay_manager, |
| - BufferLevelFilter* buffer_level_filter); |
| + BufferLevelFilter* buffer_level_filter, |
| + const TickTimer* tick_timer); |
| - // Destructor. |
| - virtual ~DecisionLogic() {} |
| + virtual ~DecisionLogic(); |
| // Resets object to a clean state. |
| void Reset(); |
| @@ -111,8 +113,8 @@ class DecisionLogic { |
| NetEqPlayoutMode playout_mode() const { return playout_mode_; } |
| protected: |
| - // The value 6 sets maximum time-stretch rate to about 100 ms/s. |
| - static const int kMinTimescaleInterval = 6; |
| + // The value 5 sets maximum time-stretch rate to about 100 ms/s. |
| + static const int kMinTimescaleInterval = 5; |
|
hlundin-webrtc
2016/05/03 19:09:10
The change from 6 to 5 is motivated by the fact th
|
| enum CngState { |
| kCngOff, |
| @@ -147,6 +149,7 @@ class DecisionLogic { |
| const PacketBuffer& packet_buffer_; |
| DelayManager* delay_manager_; |
| BufferLevelFilter* buffer_level_filter_; |
| + const TickTimer* tick_timer_; |
| int fs_mult_; |
| size_t output_size_samples_; |
| CngState cng_state_; // Remember if comfort noise is interrupted by other |
| @@ -155,7 +158,7 @@ class DecisionLogic { |
| size_t packet_length_samples_; |
| int sample_memory_; |
| bool prev_time_scale_; |
| - int timescale_hold_off_; |
| + std::unique_ptr<TickTimer::Countdown> timescale_countdown_; |
| int num_consecutive_expands_; |
| const NetEqPlayoutMode playout_mode_; |