Index: webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc |
diff --git a/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc b/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc |
index 279616e080e7e98b6522059bad5a05d271fb7371..3d9ad824be32b818d2a75d78a4e8f383c1cc3563 100644 |
--- a/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc |
+++ b/webrtc/modules/audio_coding/codecs/cng/audio_encoder_cng.cc |
@@ -21,16 +21,6 @@ const int kMaxFrameSizeMs = 60; |
} // namespace |
-AudioEncoderCng::Config::Config() |
- : num_channels(1), |
- payload_type(13), |
- speech_encoder(NULL), |
- vad_mode(Vad::kVadNormal), |
- sid_frame_interval_ms(100), |
- num_cng_coefficients(8), |
- vad(NULL) { |
-} |
- |
bool AudioEncoderCng::Config::IsOk() const { |
if (num_channels != 1) |
return false; |
@@ -68,26 +58,25 @@ AudioEncoderCng::AudioEncoderCng(const Config& config) |
<< "WebRtcCng_InitEnc failed"; |
} |
-AudioEncoderCng::~AudioEncoderCng() { |
+AudioEncoderCng::~AudioEncoderCng() = default; |
+ |
+size_t AudioEncoderCng::MaxEncodedBytes() const { |
+ const size_t max_encoded_bytes_active = speech_encoder_->MaxEncodedBytes(); |
+ const size_t max_encoded_bytes_passive = |
+ rtc::CheckedDivExact(kMaxFrameSizeMs, 10) * SamplesPer10msFrame(); |
+ return std::max(max_encoded_bytes_active, max_encoded_bytes_passive); |
} |
int AudioEncoderCng::SampleRateHz() const { |
return speech_encoder_->SampleRateHz(); |
} |
-int AudioEncoderCng::RtpTimestampRateHz() const { |
- return speech_encoder_->RtpTimestampRateHz(); |
-} |
- |
int AudioEncoderCng::NumChannels() const { |
return 1; |
} |
-size_t AudioEncoderCng::MaxEncodedBytes() const { |
- const size_t max_encoded_bytes_active = speech_encoder_->MaxEncodedBytes(); |
- const size_t max_encoded_bytes_passive = |
- rtc::CheckedDivExact(kMaxFrameSizeMs, 10) * SamplesPer10msFrame(); |
- return std::max(max_encoded_bytes_active, max_encoded_bytes_passive); |
+int AudioEncoderCng::RtpTimestampRateHz() const { |
+ return speech_encoder_->RtpTimestampRateHz(); |
} |
size_t AudioEncoderCng::Num10MsFramesInNextPacket() const { |
@@ -102,16 +91,6 @@ int AudioEncoderCng::GetTargetBitrate() const { |
return speech_encoder_->GetTargetBitrate(); |
} |
-void AudioEncoderCng::SetTargetBitrate(int bits_per_second) { |
- speech_encoder_->SetTargetBitrate(bits_per_second); |
-} |
- |
-void AudioEncoderCng::SetProjectedPacketLossRate(double fraction) { |
- DCHECK_GE(fraction, 0.0); |
- DCHECK_LE(fraction, 1.0); |
- speech_encoder_->SetProjectedPacketLossRate(fraction); |
-} |
- |
AudioEncoder::EncodedInfo AudioEncoderCng::EncodeInternal( |
uint32_t rtp_timestamp, |
const int16_t* audio, |
@@ -183,6 +162,42 @@ AudioEncoder::EncodedInfo AudioEncoderCng::EncodeInternal( |
return info; |
} |
+void AudioEncoderCng::Reset() { |
hlundin-webrtc
2015/09/07 20:00:01
There is state in AudioEncoderCng itself, too. Sho
kwiberg-webrtc
2015/09/08 10:47:45
Done. This required adding reset support to the Va
hlundin-webrtc
2015/09/08 11:21:26
Acknowledged.
|
+ speech_encoder_->Reset(); |
+} |
+ |
+bool AudioEncoderCng::SetFec(bool enable) { |
+ return speech_encoder_->SetFec(enable); |
+} |
+ |
+bool AudioEncoderCng::SetDtx(bool enable) { |
+ return speech_encoder_->SetDtx(enable); |
+} |
+ |
+bool AudioEncoderCng::SetApplication(Application application) { |
+ return speech_encoder_->SetApplication(application); |
+} |
+ |
+bool AudioEncoderCng::SetMaxPlaybackRate(int frequency_hz) { |
+ return speech_encoder_->SetMaxPlaybackRate(frequency_hz); |
+} |
+ |
+void AudioEncoderCng::SetProjectedPacketLossRate(double fraction) { |
+ speech_encoder_->SetProjectedPacketLossRate(fraction); |
+} |
+ |
+void AudioEncoderCng::SetTargetBitrate(int bits_per_second) { |
+ speech_encoder_->SetTargetBitrate(bits_per_second); |
+} |
+ |
+void AudioEncoderCng::SetMaxBitrate(int max_bps) { |
+ speech_encoder_->SetMaxBitrate(max_bps); |
+} |
+ |
+void AudioEncoderCng::SetMaxPayloadSize(int max_payload_size_bytes) { |
+ speech_encoder_->SetMaxPayloadSize(max_payload_size_bytes); |
+} |
+ |
AudioEncoder::EncodedInfo AudioEncoderCng::EncodePassive( |
size_t frames_to_encode, |
size_t max_encoded_bytes, |