Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Unified Diff: webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc

Issue 1208993010: iSAC: Make separate AudioEncoder and AudioDecoder objects (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: review fixes Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc
diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc b/webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc
index c7999b56be36deb1f6e54f09dd77ecd8c75da3c5..2f8d4b6e5d411f661f9b7be4fefedc42ee2cd961 100644
--- a/webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc
+++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/audio_encoder_isacfix.cc
@@ -17,13 +17,15 @@ namespace webrtc {
const uint16_t IsacFix::kFixSampleRate;
-// Explicit instantiation of AudioEncoderDecoderIsacT<IsacFix>, a.k.a.
-// AudioEncoderDecoderIsacFix.
-template class AudioEncoderDecoderIsacT<IsacFix>;
+// Explicit instantiation:
+template class AudioEncoderIsacT<IsacFix>;
+template class AudioDecoderIsacT<IsacFix>;
namespace {
-AudioEncoderDecoderIsacFix::Config CreateConfig(const CodecInst& codec_inst) {
- AudioEncoderDecoderIsacFix::Config config;
+AudioEncoderIsacFix::Config CreateConfig(const CodecInst& codec_inst,
+ LockedIsacBandwidthInfo* bwinfo) {
+ AudioEncoderIsacFix::Config config;
+ config.bwinfo = bwinfo;
config.payload_type = codec_inst.pltype;
config.sample_rate_hz = codec_inst.plfreq;
config.frame_size_ms =
@@ -35,110 +37,22 @@ AudioEncoderDecoderIsacFix::Config CreateConfig(const CodecInst& codec_inst) {
}
} // namespace
-AudioEncoderDecoderMutableIsacFix::AudioEncoderDecoderMutableIsacFix(
- const CodecInst& codec_inst)
- : AudioEncoderMutableImpl<AudioEncoderDecoderIsacFix,
- AudioEncoderDecoderMutableIsac>(
- CreateConfig(codec_inst)) {
-}
-
-void AudioEncoderDecoderMutableIsacFix::UpdateSettings(
- const CodecInst& codec_inst) {
- bool success = Reconstruct(CreateConfig(codec_inst));
- DCHECK(success);
-}
+AudioEncoderMutableIsacFix::AudioEncoderMutableIsacFix(
+ const CodecInst& codec_inst,
+ LockedIsacBandwidthInfo* bwinfo)
+ : AudioEncoderMutableImpl<AudioEncoderIsacFix>(
+ CreateConfig(codec_inst, bwinfo)) {}
-void AudioEncoderDecoderMutableIsacFix::SetMaxPayloadSize(
- int max_payload_size_bytes) {
+void AudioEncoderMutableIsacFix::SetMaxPayloadSize(int max_payload_size_bytes) {
auto conf = config();
conf.max_payload_size_bytes = max_payload_size_bytes;
Reconstruct(conf);
}
-void AudioEncoderDecoderMutableIsacFix::SetMaxRate(int max_rate_bps) {
+void AudioEncoderMutableIsacFix::SetMaxRate(int max_rate_bps) {
auto conf = config();
conf.max_bit_rate = max_rate_bps;
Reconstruct(conf);
}
-int AudioEncoderDecoderMutableIsacFix::Decode(const uint8_t* encoded,
- size_t encoded_len,
- int sample_rate_hz,
- size_t max_decoded_bytes,
- int16_t* decoded,
- SpeechType* speech_type) {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->Decode(encoded, encoded_len, sample_rate_hz,
- max_decoded_bytes, decoded, speech_type);
-}
-
-int AudioEncoderDecoderMutableIsacFix::DecodeRedundant(
- const uint8_t* encoded,
- size_t encoded_len,
- int sample_rate_hz,
- size_t max_decoded_bytes,
- int16_t* decoded,
- SpeechType* speech_type) {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->DecodeRedundant(encoded, encoded_len, sample_rate_hz,
- max_decoded_bytes, decoded, speech_type);
-}
-
-bool AudioEncoderDecoderMutableIsacFix::HasDecodePlc() const {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->HasDecodePlc();
-}
-
-int AudioEncoderDecoderMutableIsacFix::DecodePlc(int num_frames,
- int16_t* decoded) {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->DecodePlc(num_frames, decoded);
-}
-
-int AudioEncoderDecoderMutableIsacFix::Init() {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->Init();
-}
-
-int AudioEncoderDecoderMutableIsacFix::IncomingPacket(
- const uint8_t* payload,
- size_t payload_len,
- uint16_t rtp_sequence_number,
- uint32_t rtp_timestamp,
- uint32_t arrival_timestamp) {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->IncomingPacket(payload, payload_len, rtp_sequence_number,
- rtp_timestamp, arrival_timestamp);
-}
-
-int AudioEncoderDecoderMutableIsacFix::ErrorCode() {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->ErrorCode();
-}
-
-int AudioEncoderDecoderMutableIsacFix::PacketDuration(
- const uint8_t* encoded,
- size_t encoded_len) const {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->PacketDuration(encoded, encoded_len);
-}
-
-int AudioEncoderDecoderMutableIsacFix::PacketDurationRedundant(
- const uint8_t* encoded,
- size_t encoded_len) const {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->PacketDurationRedundant(encoded, encoded_len);
-}
-
-bool AudioEncoderDecoderMutableIsacFix::PacketHasFec(const uint8_t* encoded,
- size_t encoded_len) const {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->PacketHasFec(encoded, encoded_len);
-}
-
-size_t AudioEncoderDecoderMutableIsacFix::Channels() const {
- CriticalSectionScoped cs(encoder_lock_.get());
- return encoder()->Channels();
-}
-
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698