webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
webrtc::DecisionLogic Class Referenceabstract

#include <decision_logic.h>

Inheritance diagram for webrtc::DecisionLogic:
webrtc::DecisionLogicFax webrtc::DecisionLogicFax webrtc::DecisionLogicNormal webrtc::DecisionLogicNormal

Public Member Functions

 DecisionLogic (int fs_hz, size_t output_size_samples, NetEqPlayoutMode playout_mode, DecoderDatabase *decoder_database, const PacketBuffer &packet_buffer, DelayManager *delay_manager, BufferLevelFilter *buffer_level_filter, const TickTimer *tick_timer)
 
virtual ~DecisionLogic ()
 
void Reset ()
 
void SoftReset ()
 
void SetSampleRate (int fs_hz, size_t output_size_samples)
 
Operations GetDecision (const SyncBuffer &sync_buffer, const Expand &expand, size_t decoder_frame_length, const Packet *next_packet, Modes prev_mode, bool play_dtmf, size_t generated_noise_samples, bool *reset_decoder)
 
bool CngRfc3389On () const
 
bool CngOff () const
 
void SetCngOff ()
 
virtual void ExpandDecision (Operations operation)
 
void AddSampleMemory (int32_t value)
 
void set_sample_memory (int32_t value)
 
size_t noise_fast_forward () const
 
size_t packet_length_samples () const
 
void set_packet_length_samples (size_t value)
 
void set_prev_time_scale (bool value)
 
NetEqPlayoutMode playout_mode () const
 
 DecisionLogic (int fs_hz, size_t output_size_samples, NetEqPlayoutMode playout_mode, DecoderDatabase *decoder_database, const PacketBuffer &packet_buffer, DelayManager *delay_manager, BufferLevelFilter *buffer_level_filter, const TickTimer *tick_timer)
 
virtual ~DecisionLogic ()
 
void Reset ()
 
void SoftReset ()
 
void SetSampleRate (int fs_hz, size_t output_size_samples)
 
Operations GetDecision (const SyncBuffer &sync_buffer, const Expand &expand, size_t decoder_frame_length, const Packet *next_packet, Modes prev_mode, bool play_dtmf, size_t generated_noise_samples, bool *reset_decoder)
 
bool CngRfc3389On () const
 
bool CngOff () const
 
void SetCngOff ()
 
virtual void ExpandDecision (Operations operation)
 
void AddSampleMemory (int32_t value)
 
void set_sample_memory (int32_t value)
 
size_t noise_fast_forward () const
 
size_t packet_length_samples () const
 
void set_packet_length_samples (size_t value)
 
void set_prev_time_scale (bool value)
 
NetEqPlayoutMode playout_mode () const
 

Static Public Member Functions

static DecisionLogicCreate (int fs_hz, size_t output_size_samples, NetEqPlayoutMode playout_mode, DecoderDatabase *decoder_database, const PacketBuffer &packet_buffer, DelayManager *delay_manager, BufferLevelFilter *buffer_level_filter, const TickTimer *tick_timer)
 
static DecisionLogicCreate (int fs_hz, size_t output_size_samples, NetEqPlayoutMode playout_mode, DecoderDatabase *decoder_database, const PacketBuffer &packet_buffer, DelayManager *delay_manager, BufferLevelFilter *buffer_level_filter, const TickTimer *tick_timer)
 

Protected Types

enum  CngState {
  kCngOff, kCngRfc3389On, kCngInternalOn, kCngOff,
  kCngRfc3389On, kCngInternalOn
}
 
enum  CngState {
  kCngOff, kCngRfc3389On, kCngInternalOn, kCngOff,
  kCngRfc3389On, kCngInternalOn
}
 

Protected Member Functions

virtual Operations GetDecisionSpecialized (const SyncBuffer &sync_buffer, const Expand &expand, size_t decoder_frame_length, const Packet *next_packet, Modes prev_mode, bool play_dtmf, bool *reset_decoder, size_t generated_noise_samples)=0
 
void FilterBufferLevel (size_t buffer_size_packets, Modes prev_mode)
 
virtual Operations GetDecisionSpecialized (const SyncBuffer &sync_buffer, const Expand &expand, size_t decoder_frame_length, const Packet *next_packet, Modes prev_mode, bool play_dtmf, bool *reset_decoder, size_t generated_noise_samples)=0
 
void FilterBufferLevel (size_t buffer_size_packets, Modes prev_mode)
 

Protected Attributes

DecoderDatabasedecoder_database_
 
const PacketBufferpacket_buffer_
 
DelayManagerdelay_manager_
 
BufferLevelFilterbuffer_level_filter_
 
const TickTimertick_timer_
 
int fs_mult_
 
size_t output_size_samples_
 
CngState cng_state_
 
size_t noise_fast_forward_ = 0
 
size_t packet_length_samples_
 
int sample_memory_
 
bool prev_time_scale_
 
std::unique_ptr< TickTimer::Countdowntimescale_countdown_
 
int num_consecutive_expands_
 
const NetEqPlayoutMode playout_mode_
 

Static Protected Attributes

static const int kMinTimescaleInterval = 5
 

Member Enumeration Documentation

◆ CngState [1/2]

Enumerator
kCngOff 
kCngRfc3389On 
kCngInternalOn 
kCngOff 
kCngRfc3389On 
kCngInternalOn 

◆ CngState [2/2]

Enumerator
kCngOff 
kCngRfc3389On 
kCngInternalOn 
kCngOff 
kCngRfc3389On 
kCngInternalOn 

Constructor & Destructor Documentation

◆ DecisionLogic() [1/2]

webrtc::DecisionLogic::DecisionLogic ( int  fs_hz,
size_t  output_size_samples,
NetEqPlayoutMode  playout_mode,
DecoderDatabase decoder_database,
const PacketBuffer packet_buffer,
DelayManager delay_manager,
BufferLevelFilter buffer_level_filter,
const TickTimer tick_timer 
)

◆ ~DecisionLogic() [1/2]

webrtc::DecisionLogic::~DecisionLogic ( )
virtualdefault

◆ DecisionLogic() [2/2]

webrtc::DecisionLogic::DecisionLogic ( int  fs_hz,
size_t  output_size_samples,
NetEqPlayoutMode  playout_mode,
DecoderDatabase decoder_database,
const PacketBuffer packet_buffer,
DelayManager delay_manager,
BufferLevelFilter buffer_level_filter,
const TickTimer tick_timer 
)

◆ ~DecisionLogic() [2/2]

virtual webrtc::DecisionLogic::~DecisionLogic ( )
virtual

Member Function Documentation

◆ AddSampleMemory() [1/2]

void webrtc::DecisionLogic::AddSampleMemory ( int32_t  value)
inline

◆ AddSampleMemory() [2/2]

void webrtc::DecisionLogic::AddSampleMemory ( int32_t  value)
inline

◆ CngOff() [1/2]

bool webrtc::DecisionLogic::CngOff ( ) const
inline

◆ CngOff() [2/2]

bool webrtc::DecisionLogic::CngOff ( ) const
inline

◆ CngRfc3389On() [1/2]

bool webrtc::DecisionLogic::CngRfc3389On ( ) const
inline

◆ CngRfc3389On() [2/2]

bool webrtc::DecisionLogic::CngRfc3389On ( ) const
inline

◆ Create() [1/2]

static DecisionLogic* webrtc::DecisionLogic::Create ( int  fs_hz,
size_t  output_size_samples,
NetEqPlayoutMode  playout_mode,
DecoderDatabase decoder_database,
const PacketBuffer packet_buffer,
DelayManager delay_manager,
BufferLevelFilter buffer_level_filter,
const TickTimer tick_timer 
)
static

◆ Create() [2/2]

DecisionLogic * webrtc::DecisionLogic::Create ( int  fs_hz,
size_t  output_size_samples,
NetEqPlayoutMode  playout_mode,
DecoderDatabase decoder_database,
const PacketBuffer packet_buffer,
DelayManager delay_manager,
BufferLevelFilter buffer_level_filter,
const TickTimer tick_timer 
)
static

◆ ExpandDecision() [1/2]

void webrtc::DecisionLogic::ExpandDecision ( Operations  operation)
virtual

◆ ExpandDecision() [2/2]

virtual void webrtc::DecisionLogic::ExpandDecision ( Operations  operation)
virtual

◆ FilterBufferLevel() [1/2]

void webrtc::DecisionLogic::FilterBufferLevel ( size_t  buffer_size_packets,
Modes  prev_mode 
)
protected

◆ FilterBufferLevel() [2/2]

void webrtc::DecisionLogic::FilterBufferLevel ( size_t  buffer_size_packets,
Modes  prev_mode 
)
protected

◆ GetDecision() [1/2]

Operations webrtc::DecisionLogic::GetDecision ( const SyncBuffer sync_buffer,
const Expand expand,
size_t  decoder_frame_length,
const Packet next_packet,
Modes  prev_mode,
bool  play_dtmf,
size_t  generated_noise_samples,
bool *  reset_decoder 
)

◆ GetDecision() [2/2]

Operations webrtc::DecisionLogic::GetDecision ( const SyncBuffer sync_buffer,
const Expand expand,
size_t  decoder_frame_length,
const Packet next_packet,
Modes  prev_mode,
bool  play_dtmf,
size_t  generated_noise_samples,
bool *  reset_decoder 
)

◆ GetDecisionSpecialized() [1/2]

virtual Operations webrtc::DecisionLogic::GetDecisionSpecialized ( const SyncBuffer sync_buffer,
const Expand expand,
size_t  decoder_frame_length,
const Packet next_packet,
Modes  prev_mode,
bool  play_dtmf,
bool *  reset_decoder,
size_t  generated_noise_samples 
)
protectedpure virtual

◆ GetDecisionSpecialized() [2/2]

virtual Operations webrtc::DecisionLogic::GetDecisionSpecialized ( const SyncBuffer sync_buffer,
const Expand expand,
size_t  decoder_frame_length,
const Packet next_packet,
Modes  prev_mode,
bool  play_dtmf,
bool *  reset_decoder,
size_t  generated_noise_samples 
)
protectedpure virtual

◆ noise_fast_forward() [1/2]

size_t webrtc::DecisionLogic::noise_fast_forward ( ) const
inline

◆ noise_fast_forward() [2/2]

size_t webrtc::DecisionLogic::noise_fast_forward ( ) const
inline

◆ packet_length_samples() [1/2]

size_t webrtc::DecisionLogic::packet_length_samples ( ) const
inline

◆ packet_length_samples() [2/2]

size_t webrtc::DecisionLogic::packet_length_samples ( ) const
inline

◆ playout_mode() [1/2]

NetEqPlayoutMode webrtc::DecisionLogic::playout_mode ( ) const
inline

◆ playout_mode() [2/2]

NetEqPlayoutMode webrtc::DecisionLogic::playout_mode ( ) const
inline

◆ Reset() [1/2]

void webrtc::DecisionLogic::Reset ( )

◆ Reset() [2/2]

void webrtc::DecisionLogic::Reset ( )

◆ set_packet_length_samples() [1/2]

void webrtc::DecisionLogic::set_packet_length_samples ( size_t  value)
inline

◆ set_packet_length_samples() [2/2]

void webrtc::DecisionLogic::set_packet_length_samples ( size_t  value)
inline

◆ set_prev_time_scale() [1/2]

void webrtc::DecisionLogic::set_prev_time_scale ( bool  value)
inline

◆ set_prev_time_scale() [2/2]

void webrtc::DecisionLogic::set_prev_time_scale ( bool  value)
inline

◆ set_sample_memory() [1/2]

void webrtc::DecisionLogic::set_sample_memory ( int32_t  value)
inline

◆ set_sample_memory() [2/2]

void webrtc::DecisionLogic::set_sample_memory ( int32_t  value)
inline

◆ SetCngOff() [1/2]

void webrtc::DecisionLogic::SetCngOff ( )
inline

◆ SetCngOff() [2/2]

void webrtc::DecisionLogic::SetCngOff ( )
inline

◆ SetSampleRate() [1/2]

void webrtc::DecisionLogic::SetSampleRate ( int  fs_hz,
size_t  output_size_samples 
)

◆ SetSampleRate() [2/2]

void webrtc::DecisionLogic::SetSampleRate ( int  fs_hz,
size_t  output_size_samples 
)

◆ SoftReset() [1/2]

void webrtc::DecisionLogic::SoftReset ( )

◆ SoftReset() [2/2]

void webrtc::DecisionLogic::SoftReset ( )

Member Data Documentation

◆ buffer_level_filter_

BufferLevelFilter * webrtc::DecisionLogic::buffer_level_filter_
protected

◆ cng_state_

CngState webrtc::DecisionLogic::cng_state_
protected

◆ decoder_database_

DecoderDatabase * webrtc::DecisionLogic::decoder_database_
protected

◆ delay_manager_

DelayManager * webrtc::DecisionLogic::delay_manager_
protected

◆ fs_mult_

int webrtc::DecisionLogic::fs_mult_
protected

◆ kMinTimescaleInterval

static const int webrtc::DecisionLogic::kMinTimescaleInterval = 5
staticprotected

◆ noise_fast_forward_

size_t webrtc::DecisionLogic::noise_fast_forward_ = 0
protected

◆ num_consecutive_expands_

int webrtc::DecisionLogic::num_consecutive_expands_
protected

◆ output_size_samples_

size_t webrtc::DecisionLogic::output_size_samples_
protected

◆ packet_buffer_

const PacketBuffer & webrtc::DecisionLogic::packet_buffer_
protected

◆ packet_length_samples_

size_t webrtc::DecisionLogic::packet_length_samples_
protected

◆ playout_mode_

const NetEqPlayoutMode webrtc::DecisionLogic::playout_mode_
protected

◆ prev_time_scale_

bool webrtc::DecisionLogic::prev_time_scale_
protected

◆ sample_memory_

int webrtc::DecisionLogic::sample_memory_
protected

◆ tick_timer_

const TickTimer * webrtc::DecisionLogic::tick_timer_
protected

◆ timescale_countdown_

std::unique_ptr< TickTimer::Countdown > webrtc::DecisionLogic::timescale_countdown_
protected

The documentation for this class was generated from the following files: