| Index: webrtc/media/engine/webrtcvoiceengine.h
|
| diff --git a/webrtc/media/engine/webrtcvoiceengine.h b/webrtc/media/engine/webrtcvoiceengine.h
|
| index dbb7ea6e76715a811b75a9b907c0e7c4b077fef1..1d45f6e6c2a0ce0be9d439fb436a37b09f88125c 100644
|
| --- a/webrtc/media/engine/webrtcvoiceengine.h
|
| +++ b/webrtc/media/engine/webrtcvoiceengine.h
|
| @@ -211,10 +211,13 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
| int GetSendChannelId(uint32_t ssrc) const;
|
|
|
| private:
|
| - bool SetSendCodecs(const std::vector<AudioCodec>& codecs);
|
| bool SetOptions(const AudioOptions& options);
|
| - bool SetMaxSendBandwidth(int bps);
|
| bool SetRecvCodecs(const std::vector<AudioCodec>& codecs);
|
| + bool SetSendCodecs(const std::vector<AudioCodec>& codecs);
|
| + bool SetSendCodecs(int channel);
|
| + void SetNack(int channel, bool nack_enabled);
|
| + bool SetSendCodec(int channel, const webrtc::CodecInst& send_codec);
|
| + bool SetMaxSendBandwidth(int bps);
|
| bool SetLocalRenderer(uint32_t ssrc, AudioRenderer* renderer);
|
| bool MuteStream(uint32_t ssrc, bool mute);
|
|
|
| @@ -222,8 +225,6 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
| int GetLastEngineError() { return engine()->GetLastEngineError(); }
|
| int GetOutputLevel(int channel);
|
| bool SetPlayout(int channel, bool playout);
|
| - void SetNack(int channel, bool nack_enabled);
|
| - bool SetSendCodec(int channel, const webrtc::CodecInst& send_codec);
|
| bool ChangePlayout(bool playout);
|
| bool ChangeSend(SendFlags send);
|
| bool ChangeSend(int channel, SendFlags send);
|
| @@ -232,22 +233,21 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
| bool IsDefaultRecvStream(uint32_t ssrc) {
|
| return default_recv_ssrc_ == static_cast<int64_t>(ssrc);
|
| }
|
| - bool SetSendCodecs(int channel, const std::vector<AudioCodec>& codecs);
|
| bool SetSendBitrateInternal(int bps);
|
| + bool HasSendCodec() const {
|
| + return send_codec_spec_.codec_inst.pltype != -1;
|
| + }
|
|
|
| rtc::ThreadChecker worker_thread_checker_;
|
|
|
| WebRtcVoiceEngine* const engine_ = nullptr;
|
| std::vector<AudioCodec> recv_codecs_;
|
| - std::vector<AudioCodec> send_codecs_;
|
| - std::unique_ptr<webrtc::CodecInst> send_codec_;
|
| bool send_bitrate_setting_ = false;
|
| int send_bitrate_bps_ = 0;
|
| AudioOptions options_;
|
| rtc::Optional<int> dtmf_payload_type_;
|
| bool desired_playout_ = false;
|
| - bool nack_enabled_ = false;
|
| - bool transport_cc_enabled_ = false;
|
| + bool recv_transport_cc_enabled_ = false;
|
| bool playout_ = false;
|
| SendFlags desired_send_ = SEND_NOTHING;
|
| SendFlags send_ = SEND_NOTHING;
|
| @@ -272,6 +272,23 @@ class WebRtcVoiceMediaChannel final : public VoiceMediaChannel,
|
| std::map<uint32_t, WebRtcAudioReceiveStream*> recv_streams_;
|
| std::vector<webrtc::RtpExtension> recv_rtp_extensions_;
|
|
|
| + struct SendCodecSpec {
|
| + SendCodecSpec() {
|
| + webrtc::CodecInst empty_inst = {0};
|
| + codec_inst = empty_inst;
|
| + codec_inst.pltype = -1;
|
| + }
|
| + bool nack_enabled = false;
|
| + bool transport_cc_enabled = false;
|
| + bool enable_codec_fec = false;
|
| + bool enable_opus_dtx = false;
|
| + int opus_max_playback_rate = 0;
|
| + int red_payload_type = -1;
|
| + int cng_payload_type = -1;
|
| + int cng_plfreq = -1;
|
| + webrtc::CodecInst codec_inst;
|
| + } send_codec_spec_;
|
| +
|
| RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WebRtcVoiceMediaChannel);
|
| };
|
| } // namespace cricket
|
|
|