aboutsummaryrefslogtreecommitdiff
path: root/api/audio_codecs
diff options
context:
space:
mode:
authorKarl Wiberg <kwiberg@webrtc.org>2018-03-01 15:13:27 +0100
committerCommit Bot <commit-bot@chromium.org>2018-03-01 19:28:38 +0000
commit17668ec4a53dd1efa51e705842e00b36fe7b21b0 (patch)
treeb727a753043461cec93ac0f6b511990bbac0cb62 /api/audio_codecs
parentcb415b2a842b63562d556c82accab4dd1bfafe8a (diff)
downloadwebrtc-17668ec4a53dd1efa51e705842e00b36fe7b21b0.tar.gz
Audio codec implementations: Take optional codec ID argument
None of the built-in codecs do anything with the ID, but callers will soon require them to accept it. Bug: webrtc:8941 Change-Id: I0eb77db82d72c7d34cff639fecb67c1e6ec421bf Reviewed-on: https://webrtc-review.googlesource.com/58089 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Oskar Sundbom <ossu@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22259}
Diffstat (limited to 'api/audio_codecs')
-rw-r--r--api/audio_codecs/L16/audio_decoder_L16.cc3
-rw-r--r--api/audio_codecs/L16/audio_decoder_L16.h5
-rw-r--r--api/audio_codecs/L16/audio_encoder_L16.cc3
-rw-r--r--api/audio_codecs/L16/audio_encoder_L16.h7
-rw-r--r--api/audio_codecs/builtin_audio_decoder_factory.cc6
-rw-r--r--api/audio_codecs/builtin_audio_encoder_factory.cc8
-rw-r--r--api/audio_codecs/g711/audio_decoder_g711.cc3
-rw-r--r--api/audio_codecs/g711/audio_decoder_g711.h5
-rw-r--r--api/audio_codecs/g711/audio_encoder_g711.cc3
-rw-r--r--api/audio_codecs/g711/audio_encoder_g711.h7
-rw-r--r--api/audio_codecs/g722/audio_decoder_g722.cc3
-rw-r--r--api/audio_codecs/g722/audio_decoder_g722.h5
-rw-r--r--api/audio_codecs/g722/audio_encoder_g722.cc3
-rw-r--r--api/audio_codecs/g722/audio_encoder_g722.h4
-rw-r--r--api/audio_codecs/ilbc/audio_decoder_ilbc.cc3
-rw-r--r--api/audio_codecs/ilbc/audio_decoder_ilbc.h5
-rw-r--r--api/audio_codecs/ilbc/audio_encoder_ilbc.cc3
-rw-r--r--api/audio_codecs/ilbc/audio_encoder_ilbc.h4
-rw-r--r--api/audio_codecs/isac/audio_decoder_isac_fix.cc3
-rw-r--r--api/audio_codecs/isac/audio_decoder_isac_fix.h5
-rw-r--r--api/audio_codecs/isac/audio_decoder_isac_float.cc3
-rw-r--r--api/audio_codecs/isac/audio_decoder_isac_float.h5
-rw-r--r--api/audio_codecs/isac/audio_encoder_isac_fix.cc3
-rw-r--r--api/audio_codecs/isac/audio_encoder_isac_fix.h7
-rw-r--r--api/audio_codecs/isac/audio_encoder_isac_float.cc3
-rw-r--r--api/audio_codecs/isac/audio_encoder_isac_float.h7
-rw-r--r--api/audio_codecs/opus/audio_decoder_opus.cc3
-rw-r--r--api/audio_codecs/opus/audio_decoder_opus.h5
-rw-r--r--api/audio_codecs/opus/audio_encoder_opus.cc3
-rw-r--r--api/audio_codecs/opus/audio_encoder_opus.h6
-rw-r--r--api/audio_codecs/test/audio_decoder_factory_template_unittest.cc4
-rw-r--r--api/audio_codecs/test/audio_encoder_factory_template_unittest.cc6
32 files changed, 102 insertions, 41 deletions
diff --git a/api/audio_codecs/L16/audio_decoder_L16.cc b/api/audio_codecs/L16/audio_decoder_L16.cc
index dd14e601f4..7c6a9ee87b 100644
--- a/api/audio_codecs/L16/audio_decoder_L16.cc
+++ b/api/audio_codecs/L16/audio_decoder_L16.cc
@@ -34,7 +34,8 @@ void AudioDecoderL16::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderL16::MakeAudioDecoder(
- const Config& config) {
+ const Config& config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
return config.IsOk() ? rtc::MakeUnique<AudioDecoderPcm16B>(
config.sample_rate_hz, config.num_channels)
: nullptr;
diff --git a/api/audio_codecs/L16/audio_decoder_L16.h b/api/audio_codecs/L16/audio_decoder_L16.h
index db863b37de..deef909201 100644
--- a/api/audio_codecs/L16/audio_decoder_L16.h
+++ b/api/audio_codecs/L16/audio_decoder_L16.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -36,7 +37,9 @@ struct AudioDecoderL16 {
};
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(const Config& config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ const Config& config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/L16/audio_encoder_L16.cc b/api/audio_codecs/L16/audio_encoder_L16.cc
index d0d9f6f644..5022993745 100644
--- a/api/audio_codecs/L16/audio_encoder_L16.cc
+++ b/api/audio_codecs/L16/audio_encoder_L16.cc
@@ -46,7 +46,8 @@ AudioCodecInfo AudioEncoderL16::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderL16::MakeAudioEncoder(
const AudioEncoderL16::Config& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
AudioEncoderPcm16B::Config c;
c.sample_rate_hz = config.sample_rate_hz;
diff --git a/api/audio_codecs/L16/audio_encoder_L16.h b/api/audio_codecs/L16/audio_encoder_L16.h
index e099bd5747..08d7ef1eb8 100644
--- a/api/audio_codecs/L16/audio_encoder_L16.h
+++ b/api/audio_codecs/L16/audio_encoder_L16.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -39,8 +40,10 @@ struct AudioEncoderL16 {
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(const Config& config);
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(const Config& config,
- int payload_type);
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ const Config& config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/builtin_audio_decoder_factory.cc b/api/audio_codecs/builtin_audio_decoder_factory.cc
index 9520d2a9e7..c3e5d50b97 100644
--- a/api/audio_codecs/builtin_audio_decoder_factory.cc
+++ b/api/audio_codecs/builtin_audio_decoder_factory.cc
@@ -39,8 +39,10 @@ struct NotAdvertised {
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs) {
// Don't advertise support for anything.
}
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(const Config& config) {
- return T::MakeAudioDecoder(config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ const Config& config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt) {
+ return T::MakeAudioDecoder(config, codec_pair_id);
}
};
diff --git a/api/audio_codecs/builtin_audio_encoder_factory.cc b/api/audio_codecs/builtin_audio_encoder_factory.cc
index 877f85026f..5395404361 100644
--- a/api/audio_codecs/builtin_audio_encoder_factory.cc
+++ b/api/audio_codecs/builtin_audio_encoder_factory.cc
@@ -42,9 +42,11 @@ struct NotAdvertised {
static AudioCodecInfo QueryAudioEncoder(const Config& config) {
return T::QueryAudioEncoder(config);
}
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(const Config& config,
- int payload_type) {
- return T::MakeAudioEncoder(config, payload_type);
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ const Config& config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt) {
+ return T::MakeAudioEncoder(config, payload_type, codec_pair_id);
}
};
diff --git a/api/audio_codecs/g711/audio_decoder_g711.cc b/api/audio_codecs/g711/audio_decoder_g711.cc
index 71d363be73..c715e805e5 100644
--- a/api/audio_codecs/g711/audio_decoder_g711.cc
+++ b/api/audio_codecs/g711/audio_decoder_g711.cc
@@ -44,7 +44,8 @@ void AudioDecoderG711::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderG711::MakeAudioDecoder(
- const Config& config) {
+ const Config& config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
switch (config.type) {
case Config::Type::kPcmU:
diff --git a/api/audio_codecs/g711/audio_decoder_g711.h b/api/audio_codecs/g711/audio_decoder_g711.h
index 652e23ebcf..5085283f0e 100644
--- a/api/audio_codecs/g711/audio_decoder_g711.h
+++ b/api/audio_codecs/g711/audio_decoder_g711.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -35,7 +36,9 @@ struct AudioDecoderG711 {
};
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(const Config& config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ const Config& config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g711/audio_encoder_g711.cc b/api/audio_codecs/g711/audio_encoder_g711.cc
index 7029caeaad..e5abc3395b 100644
--- a/api/audio_codecs/g711/audio_encoder_g711.cc
+++ b/api/audio_codecs/g711/audio_encoder_g711.cc
@@ -61,7 +61,8 @@ AudioCodecInfo AudioEncoderG711::QueryAudioEncoder(const Config& config) {
std::unique_ptr<AudioEncoder> AudioEncoderG711::MakeAudioEncoder(
const Config& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
switch (config.type) {
case Config::Type::kPcmU: {
diff --git a/api/audio_codecs/g711/audio_encoder_g711.h b/api/audio_codecs/g711/audio_encoder_g711.h
index ecdb9a3901..22a74b4727 100644
--- a/api/audio_codecs/g711/audio_encoder_g711.h
+++ b/api/audio_codecs/g711/audio_encoder_g711.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -39,8 +40,10 @@ struct AudioEncoderG711 {
const SdpAudioFormat& audio_format);
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(const Config& config);
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(const Config& config,
- int payload_type);
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ const Config& config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g722/audio_decoder_g722.cc b/api/audio_codecs/g722/audio_decoder_g722.cc
index 961b1267fe..6f72037b41 100644
--- a/api/audio_codecs/g722/audio_decoder_g722.cc
+++ b/api/audio_codecs/g722/audio_decoder_g722.cc
@@ -36,7 +36,8 @@ void AudioDecoderG722::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderG722::MakeAudioDecoder(
- Config config) {
+ Config config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
switch (config.num_channels) {
case 1:
return rtc::MakeUnique<AudioDecoderG722Impl>();
diff --git a/api/audio_codecs/g722/audio_decoder_g722.h b/api/audio_codecs/g722/audio_decoder_g722.h
index fddb89aaf8..34235dcad9 100644
--- a/api/audio_codecs/g722/audio_decoder_g722.h
+++ b/api/audio_codecs/g722/audio_decoder_g722.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -31,7 +32,9 @@ struct AudioDecoderG722 {
};
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(Config config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ Config config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/g722/audio_encoder_g722.cc b/api/audio_codecs/g722/audio_encoder_g722.cc
index f8aa6162d2..04074b104c 100644
--- a/api/audio_codecs/g722/audio_encoder_g722.cc
+++ b/api/audio_codecs/g722/audio_encoder_g722.cc
@@ -59,7 +59,8 @@ AudioCodecInfo AudioEncoderG722::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderG722::MakeAudioEncoder(
const AudioEncoderG722Config& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
return rtc::MakeUnique<AudioEncoderG722Impl>(config, payload_type);
}
diff --git a/api/audio_codecs/g722/audio_encoder_g722.h b/api/audio_codecs/g722/audio_encoder_g722.h
index 0763615cf7..08cd304c8a 100644
--- a/api/audio_codecs/g722/audio_encoder_g722.h
+++ b/api/audio_codecs/g722/audio_encoder_g722.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/g722/audio_encoder_g722_config.h"
@@ -33,7 +34,8 @@ struct AudioEncoderG722 {
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderG722Config& config);
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderG722Config& config,
- int payload_type);
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
index 2ffae480ca..88a247103b 100644
--- a/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_decoder_ilbc.cc
@@ -33,7 +33,8 @@ void AudioDecoderIlbc::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderIlbc::MakeAudioDecoder(
- Config config) {
+ Config config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
return rtc::MakeUnique<AudioDecoderIlbcImpl>();
}
diff --git a/api/audio_codecs/ilbc/audio_decoder_ilbc.h b/api/audio_codecs/ilbc/audio_decoder_ilbc.h
index f7292d60c6..c233c4b79a 100644
--- a/api/audio_codecs/ilbc/audio_decoder_ilbc.h
+++ b/api/audio_codecs/ilbc/audio_decoder_ilbc.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -28,7 +29,9 @@ struct AudioDecoderIlbc {
struct Config {}; // Empty---no config values needed!
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(Config config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ Config config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
index a7c68ffcf0..53dfdd31ea 100644
--- a/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
+++ b/api/audio_codecs/ilbc/audio_encoder_ilbc.cc
@@ -73,7 +73,8 @@ AudioCodecInfo AudioEncoderIlbc::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderIlbc::MakeAudioEncoder(
const AudioEncoderIlbcConfig& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
return rtc::MakeUnique<AudioEncoderIlbcImpl>(config, payload_type);
}
diff --git a/api/audio_codecs/ilbc/audio_encoder_ilbc.h b/api/audio_codecs/ilbc/audio_encoder_ilbc.h
index dd65375774..85cdab0ee4 100644
--- a/api/audio_codecs/ilbc/audio_encoder_ilbc.h
+++ b/api/audio_codecs/ilbc/audio_encoder_ilbc.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/ilbc/audio_encoder_ilbc_config.h"
@@ -33,7 +34,8 @@ struct AudioEncoderIlbc {
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderIlbcConfig& config);
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
const AudioEncoderIlbcConfig& config,
- int payload_type);
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_decoder_isac_fix.cc b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
index 011be4f24a..ab220f05fe 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_fix.cc
@@ -30,7 +30,8 @@ void AudioDecoderIsacFix::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderIsacFix::MakeAudioDecoder(
- Config config) {
+ Config config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
return rtc::MakeUnique<AudioDecoderIsacFixImpl>(16000);
}
diff --git a/api/audio_codecs/isac/audio_decoder_isac_fix.h b/api/audio_codecs/isac/audio_decoder_isac_fix.h
index f3d210eb84..115486c6bf 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_fix.h
+++ b/api/audio_codecs/isac/audio_decoder_isac_fix.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -28,7 +29,9 @@ struct AudioDecoderIsacFix {
struct Config {}; // Empty---no config values needed!
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(Config config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ Config config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_decoder_isac_float.cc b/api/audio_codecs/isac/audio_decoder_isac_float.cc
index 65ad6ac15d..e568f07610 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_decoder_isac_float.cc
@@ -36,7 +36,8 @@ void AudioDecoderIsacFloat::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderIsacFloat::MakeAudioDecoder(
- Config config) {
+ Config config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
return rtc::MakeUnique<AudioDecoderIsacFloatImpl>(config.sample_rate_hz);
}
diff --git a/api/audio_codecs/isac/audio_decoder_isac_float.h b/api/audio_codecs/isac/audio_decoder_isac_float.h
index 1decd5af3d..47c2c6037f 100644
--- a/api/audio_codecs/isac/audio_decoder_isac_float.h
+++ b/api/audio_codecs/isac/audio_decoder_isac_float.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -33,7 +34,9 @@ struct AudioDecoderIsacFloat {
};
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(Config config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ Config config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_fix.cc b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
index 17c1a761b8..e2c7958e6e 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_fix.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_fix.cc
@@ -50,7 +50,8 @@ AudioCodecInfo AudioEncoderIsacFix::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderIsacFix::MakeAudioEncoder(
AudioEncoderIsacFix::Config config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
AudioEncoderIsacFixImpl::Config c;
c.frame_size_ms = config.frame_size_ms;
diff --git a/api/audio_codecs/isac/audio_encoder_isac_fix.h b/api/audio_codecs/isac/audio_encoder_isac_fix.h
index 5970c02534..7f2743cf17 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_fix.h
+++ b/api/audio_codecs/isac/audio_encoder_isac_fix.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -32,8 +33,10 @@ struct AudioEncoderIsacFix {
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(Config config);
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(Config config,
- int payload_type);
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ Config config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/isac/audio_encoder_isac_float.cc b/api/audio_codecs/isac/audio_encoder_isac_float.cc
index bdfbcfbebc..5fbbe2bb0a 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_float.cc
+++ b/api/audio_codecs/isac/audio_encoder_isac_float.cc
@@ -61,7 +61,8 @@ AudioCodecInfo AudioEncoderIsacFloat::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderIsacFloat::MakeAudioEncoder(
const AudioEncoderIsacFloat::Config& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
RTC_DCHECK(config.IsOk());
AudioEncoderIsacFloatImpl::Config c;
c.sample_rate_hz = config.sample_rate_hz;
diff --git a/api/audio_codecs/isac/audio_encoder_isac_float.h b/api/audio_codecs/isac/audio_encoder_isac_float.h
index f14c2a25f5..b6043f2aba 100644
--- a/api/audio_codecs/isac/audio_encoder_isac_float.h
+++ b/api/audio_codecs/isac/audio_encoder_isac_float.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -37,8 +38,10 @@ struct AudioEncoderIsacFloat {
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(const Config& config);
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(const Config& config,
- int payload_type);
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ const Config& config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_decoder_opus.cc b/api/audio_codecs/opus/audio_decoder_opus.cc
index 472a079435..73a0a3fc5d 100644
--- a/api/audio_codecs/opus/audio_decoder_opus.cc
+++ b/api/audio_codecs/opus/audio_decoder_opus.cc
@@ -55,7 +55,8 @@ void AudioDecoderOpus::AppendSupportedDecoders(
}
std::unique_ptr<AudioDecoder> AudioDecoderOpus::MakeAudioDecoder(
- Config config) {
+ Config config,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
return rtc::MakeUnique<AudioDecoderOpusImpl>(config.num_channels);
}
diff --git a/api/audio_codecs/opus/audio_decoder_opus.h b/api/audio_codecs/opus/audio_decoder_opus.h
index 0cd917f04b..f76d244c67 100644
--- a/api/audio_codecs/opus/audio_decoder_opus.h
+++ b/api/audio_codecs/opus/audio_decoder_opus.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_decoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/optional.h"
@@ -30,7 +31,9 @@ struct AudioDecoderOpus {
};
static rtc::Optional<Config> SdpToConfig(const SdpAudioFormat& audio_format);
static void AppendSupportedDecoders(std::vector<AudioCodecSpec>* specs);
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(Config config);
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ Config config,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/opus/audio_encoder_opus.cc b/api/audio_codecs/opus/audio_encoder_opus.cc
index 603da6f223..8ba66fbdb9 100644
--- a/api/audio_codecs/opus/audio_encoder_opus.cc
+++ b/api/audio_codecs/opus/audio_encoder_opus.cc
@@ -31,7 +31,8 @@ AudioCodecInfo AudioEncoderOpus::QueryAudioEncoder(
std::unique_ptr<AudioEncoder> AudioEncoderOpus::MakeAudioEncoder(
const AudioEncoderOpusConfig& config,
- int payload_type) {
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/) {
return AudioEncoderOpusImpl::MakeAudioEncoder(config, payload_type);
}
diff --git a/api/audio_codecs/opus/audio_encoder_opus.h b/api/audio_codecs/opus/audio_encoder_opus.h
index d348a17897..632526966d 100644
--- a/api/audio_codecs/opus/audio_encoder_opus.h
+++ b/api/audio_codecs/opus/audio_encoder_opus.h
@@ -14,6 +14,7 @@
#include <memory>
#include <vector>
+#include "api/audio_codecs/audio_codec_pair_id.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/audio_codecs/audio_format.h"
#include "api/audio_codecs/opus/audio_encoder_opus_config.h"
@@ -32,8 +33,9 @@ struct AudioEncoderOpus {
static void AppendSupportedEncoders(std::vector<AudioCodecSpec>* specs);
static AudioCodecInfo QueryAudioEncoder(const AudioEncoderOpusConfig& config);
static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
- const AudioEncoderOpusConfig&,
- int payload_type);
+ const AudioEncoderOpusConfig& config,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> codec_pair_id = rtc::nullopt);
};
} // namespace webrtc
diff --git a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
index 53199034c9..6fd4f7bfa8 100644
--- a/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
@@ -60,7 +60,9 @@ struct AudioDecoderFakeApi {
return Params::CodecInfo();
}
- static std::unique_ptr<AudioDecoder> MakeAudioDecoder(const Config&) {
+ static std::unique_ptr<AudioDecoder> MakeAudioDecoder(
+ const Config&,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/ = rtc::nullopt) {
auto dec = rtc::MakeUnique<testing::StrictMock<MockAudioDecoder>>();
EXPECT_CALL(*dec, SampleRateHz())
.WillOnce(testing::Return(Params::CodecInfo().sample_rate_hz));
diff --git a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
index 86fba1de89..f0d9441e61 100644
--- a/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
+++ b/api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
@@ -60,8 +60,10 @@ struct AudioEncoderFakeApi {
return Params::CodecInfo();
}
- static std::unique_ptr<AudioEncoder> MakeAudioEncoder(const Config&,
- int payload_type) {
+ static std::unique_ptr<AudioEncoder> MakeAudioEncoder(
+ const Config&,
+ int payload_type,
+ rtc::Optional<AudioCodecPairId> /*codec_pair_id*/ = rtc::nullopt) {
auto enc = rtc::MakeUnique<testing::StrictMock<MockAudioEncoder>>();
EXPECT_CALL(*enc, SampleRateHz())
.WillOnce(testing::Return(Params::CodecInfo().sample_rate_hz));