| Index: webrtc/modules/audio_coding/acm2/codec_manager.h
|
| diff --git a/webrtc/modules/audio_coding/acm2/codec_manager.h b/webrtc/modules/audio_coding/acm2/codec_manager.h
|
| index 61832e4f1052f0cc8987a2b13f8eee48d1123561..ad96d1d9f074ce86bfdae6928e4d36696bfbefab 100644
|
| --- a/webrtc/modules/audio_coding/acm2/codec_manager.h
|
| +++ b/webrtc/modules/audio_coding/acm2/codec_manager.h
|
| @@ -33,46 +33,33 @@ class CodecManager final {
|
| CodecManager();
|
| ~CodecManager();
|
|
|
| - int RegisterEncoder(const CodecInst& send_codec);
|
| + // Parses the given specification. On success, returns true and updates the
|
| + // stored CodecInst and stack parameters; on error, returns false.
|
| + bool RegisterEncoder(const CodecInst& send_codec);
|
|
|
| - void RegisterEncoder(AudioEncoder* external_speech_encoder);
|
| + static CodecInst ForgeCodecInst(const AudioEncoder* external_speech_encoder);
|
|
|
| - rtc::Optional<CodecInst> GetCodecInst() const;
|
| + const CodecInst* GetCodecInst() const {
|
| + return send_codec_inst_ ? &*send_codec_inst_ : nullptr;
|
| + }
|
| + const RentACodec::StackParameters* GetStackParams() const {
|
| + return &codec_stack_params_;
|
| + }
|
| + RentACodec::StackParameters* GetStackParams() { return &codec_stack_params_; }
|
|
|
| bool SetCopyRed(bool enable);
|
|
|
| - int SetVAD(bool enable, ACMVADMode mode);
|
| -
|
| - void VAD(bool* dtx_enabled, bool* vad_enabled, ACMVADMode* mode) const;
|
| -
|
| - int SetCodecFEC(bool enable_codec_fec);
|
| -
|
| - // Returns a pointer to AudioDecoder of the given codec. For iSAC, encoding
|
| - // and decoding have to be performed on a shared codec instance. By calling
|
| - // this method, we get the codec instance that ACM owns.
|
| - // If |codec| does not share an instance between encoder and decoder, returns
|
| - // null.
|
| - AudioDecoder* GetAudioDecoder(const CodecInst& codec);
|
| + bool SetVAD(bool enable, ACMVADMode mode);
|
|
|
| - bool red_enabled() const { return codec_stack_params_.use_red; }
|
| + bool SetCodecFEC(bool enable_codec_fec);
|
|
|
| - bool codec_fec_enabled() const { return codec_stack_params_.use_codec_fec; }
|
| -
|
| - AudioEncoder* CurrentEncoder() { return rent_a_codec_.GetEncoderStack(); }
|
| - const AudioEncoder* CurrentEncoder() const {
|
| - return rent_a_codec_.GetEncoderStack();
|
| - }
|
| -
|
| - bool CurrentEncoderIsOpus() const { return encoder_is_opus_; }
|
| + bool CurrentEncoderIsOpus() const;
|
|
|
| private:
|
| rtc::ThreadChecker thread_checker_;
|
| - CodecInst send_codec_inst_;
|
| - RentACodec rent_a_codec_;
|
| + rtc::Optional<CodecInst> send_codec_inst_;
|
| RentACodec::StackParameters codec_stack_params_;
|
|
|
| - bool encoder_is_opus_;
|
| -
|
| RTC_DISALLOW_COPY_AND_ASSIGN(CodecManager);
|
| };
|
|
|
|
|