diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc b/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc index c7fe9fa9a..60ed69cb2 100644 --- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc +++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module.cc @@ -19,6 +19,9 @@ namespace webrtc { +const char kLegacyAcmVersion[] = "acm1"; +const char kExperimentalAcmVersion[] = "acm2"; + // Create module AudioCodingModule* AudioCodingModule::Create(int id) { return new acm1::AudioCodingModuleImpl(id, Clock::GetRealTimeClock()); diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc index 59d5727a3..ce0521818 100644 --- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc +++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc @@ -1975,6 +1975,10 @@ int AudioCodingModuleImpl::LeastRequiredDelayMs() const { return receiver_.LeastRequiredDelayMs(); } +const char* AudioCodingModuleImpl::Version() const { + return kExperimentalAcmVersion; +} + } // namespace acm2 } // namespace webrtc diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h index 6bf90cf26..17fab396c 100644 --- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h +++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h @@ -32,12 +32,11 @@ class ACMGenericCodec; class AudioCodingModuleImpl : public AudioCodingModule { public: - // Constructor explicit AudioCodingModuleImpl(int id); - - // Destructor ~AudioCodingModuleImpl(); + virtual const char* Version() const; + // Change the unique identifier of this object. virtual int32_t ChangeUniqueId(const int32_t id); diff --git a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h index 2f4776d75..f8b9690f8 100644 --- a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h +++ b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h @@ -73,6 +73,10 @@ class ACMVQMonCallback { const uint16_t delayMS) = 0; // average delay in ms }; +// Version string for testing, to distinguish instances of ACM1 from ACM2. +extern const char kLegacyAcmVersion[]; +extern const char kExperimentalAcmVersion[]; + class AudioCodingModule: public Module { protected: AudioCodingModule() {} @@ -174,6 +178,11 @@ class AudioCodingModule: public Module { // static bool IsCodecValid(const CodecInst& codec); + // Returns the version of ACM. This facilitates distinguishing instances of + // ACM1 from ACM2 while testing. This API will be removed when ACM1 is + // completely removed. + virtual const char* Version() const = 0; + /////////////////////////////////////////////////////////////////////////// // Sender // diff --git a/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc b/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc index 38027338a..1e71a0442 100644 --- a/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc +++ b/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.cc @@ -3026,6 +3026,10 @@ void AudioCodingModuleImpl::DisableNack() { nack_enabled_ = false; } +const char* AudioCodingModuleImpl::Version() const { + return kLegacyAcmVersion; +} + } // namespace acm1 } // namespace webrtc diff --git a/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.h b/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.h index 7d58f375a..7acde177d 100644 --- a/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.h +++ b/webrtc/modules/audio_coding/main/source/audio_coding_module_impl.h @@ -40,12 +40,11 @@ class ACMGenericCodec; class AudioCodingModuleImpl : public AudioCodingModule { public: - // Constructor AudioCodingModuleImpl(const int32_t id, Clock* clock); - - // Destructor ~AudioCodingModuleImpl(); + virtual const char* Version() const; + // Change the unique identifier of this object. virtual int32_t ChangeUniqueId(const int32_t id);