| Index: webrtc/audio/audio_send_stream.h
|
| diff --git a/webrtc/audio/audio_send_stream.h b/webrtc/audio/audio_send_stream.h
|
| index af0513ccf776fd5513f7b10ca17bb0960d1d2ec4..532dbdfa32a54c19d9e78f7bf96132e993e9ad85 100644
|
| --- a/webrtc/audio/audio_send_stream.h
|
| +++ b/webrtc/audio/audio_send_stream.h
|
| @@ -16,7 +16,9 @@
|
| #include "webrtc/api/call/audio_send_stream.h"
|
| #include "webrtc/api/call/audio_state.h"
|
| #include "webrtc/base/constructormagic.h"
|
| +#include "webrtc/base/onetimeevent.h"
|
| #include "webrtc/base/thread_checker.h"
|
| +#include "webrtc/base/weak_ptr.h"
|
| #include "webrtc/call/bitrate_allocator.h"
|
|
|
| namespace webrtc {
|
| @@ -60,9 +62,12 @@ class AudioSendStream final : public webrtc::AudioSendStream,
|
| void SetTransportOverhead(int transport_overhead_per_packet);
|
|
|
| private:
|
| + class AdaptCodecTask;
|
| +
|
| VoiceEngine* voice_engine() const;
|
|
|
| bool SetupSendCodec();
|
| + void AdaptCodec();
|
|
|
| rtc::ThreadChecker thread_checker_;
|
| rtc::TaskQueue* worker_queue_;
|
| @@ -71,6 +76,15 @@ class AudioSendStream final : public webrtc::AudioSendStream,
|
| std::unique_ptr<voe::ChannelProxy> channel_proxy_;
|
|
|
| BitrateAllocator* const bitrate_allocator_;
|
| + OneTimeEvent first_update_bitrate_;
|
| +
|
| + // |weak_ptr_| to our self. This is used since we can not call
|
| + // |weak_ptr_factory_.GetWeakPtr| from multiple sequences but it is ok to copy
|
| + // an existing WeakPtr.
|
| + rtc::WeakPtr<AudioSendStream> weak_ptr_;
|
| + // |weak_ptr_factory_| must be declared last to make sure all WeakPtr's are
|
| + // invalidated before any other members are destroyed.
|
| + std::unique_ptr<rtc::WeakPtrFactory<AudioSendStream>> weak_ptr_factory_;
|
|
|
| RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AudioSendStream);
|
| };
|
|
|