| Index: webrtc/voice_engine/channel_proxy.h
|
| diff --git a/webrtc/voice_engine/channel_proxy.h b/webrtc/voice_engine/channel_proxy.h
|
| index 966abc4868d336ab346c265850e9e0e5edfbf4ec..b70dcc454d0528e6fa0fb5ef26330ac4337abe58 100644
|
| --- a/webrtc/voice_engine/channel_proxy.h
|
| +++ b/webrtc/voice_engine/channel_proxy.h
|
| @@ -105,8 +105,6 @@ class ChannelProxy {
|
| virtual void DisassociateSendChannel();
|
| virtual void GetRtpRtcp(RtpRtcp** rtp_rtcp,
|
| RtpReceiver** rtp_receiver) const;
|
| - virtual void GetDelayEstimate(int* jitter_buffer_delay_ms,
|
| - int* playout_buffer_delay_ms) const;
|
| virtual uint32_t GetPlayoutTimestamp() const;
|
| virtual void SetMinimumPlayoutDelay(int delay_ms);
|
| virtual void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats);
|
| @@ -122,8 +120,18 @@ class ChannelProxy {
|
| private:
|
| Channel* channel() const;
|
|
|
| - rtc::ThreadChecker thread_checker_;
|
| - rtc::RaceChecker race_checker_;
|
| + // Thread checkers document and lock usage of some methods on voe::Channel to
|
| + // specific threads we know about. The goal is to eventually split up
|
| + // voe::Channel into parts with single-threaded semantics, and thereby reduce
|
| + // the need for locks.
|
| + rtc::ThreadChecker worker_thread_checker_;
|
| + rtc::ThreadChecker module_process_thread_checker_;
|
| + // Methods accessed from audio and video threads are checked for sequential-
|
| + // only access. We don't necessarily own and control these threads, so thread
|
| + // checkers cannot be used. E.g. Chromium may transfer "ownership" from one
|
| + // audio thread to another, but access is still sequential.
|
| + rtc::RaceChecker audio_thread_race_checker_;
|
| + rtc::RaceChecker video_capture_thread_race_checker_;
|
| ChannelOwner channel_owner_;
|
|
|
| RTC_DISALLOW_COPY_AND_ASSIGN(ChannelProxy);
|
|
|