| OLD | NEW | 
|     1 /* |     1 /* | 
|     2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |     2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
|     3  * |     3  * | 
|     4  *  Use of this source code is governed by a BSD-style license |     4  *  Use of this source code is governed by a BSD-style license | 
|     5  *  that can be found in the LICENSE file in the root of the source |     5  *  that can be found in the LICENSE file in the root of the source | 
|     6  *  tree. An additional intellectual property rights grant can be found |     6  *  tree. An additional intellectual property rights grant can be found | 
|     7  *  in the file PATENTS.  All contributing project authors may |     7  *  in the file PATENTS.  All contributing project authors may | 
|     8  *  be found in the AUTHORS file in the root of the source tree. |     8  *  be found in the AUTHORS file in the root of the source tree. | 
|     9  */ |     9  */ | 
|    10  |    10  | 
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   150     rtc::CritScope lock(&crit_); |   150     rtc::CritScope lock(&crit_); | 
|   151     event_log_ = event_log; |   151     event_log_ = event_log; | 
|   152   } |   152   } | 
|   153  |   153  | 
|   154  private: |   154  private: | 
|   155   rtc::CriticalSection crit_; |   155   rtc::CriticalSection crit_; | 
|   156   RtcEventLog* event_log_ GUARDED_BY(crit_); |   156   RtcEventLog* event_log_ GUARDED_BY(crit_); | 
|   157   RTC_DISALLOW_COPY_AND_ASSIGN(RtcEventLogProxy); |   157   RTC_DISALLOW_COPY_AND_ASSIGN(RtcEventLogProxy); | 
|   158 }; |   158 }; | 
|   159  |   159  | 
|   160 class RtcpRttStatsProxy final : public RtcpRttStats { |  | 
|   161  public: |  | 
|   162   RtcpRttStatsProxy() : rtcp_rtt_stats_(nullptr) {} |  | 
|   163  |  | 
|   164   void OnRttUpdate(int64_t rtt) override { |  | 
|   165     rtc::CritScope lock(&crit_); |  | 
|   166     if (rtcp_rtt_stats_) |  | 
|   167       rtcp_rtt_stats_->OnRttUpdate(rtt); |  | 
|   168   } |  | 
|   169  |  | 
|   170   int64_t LastProcessedRtt() const override { |  | 
|   171     rtc::CritScope lock(&crit_); |  | 
|   172     if (rtcp_rtt_stats_ == nullptr) |  | 
|   173       return 0; |  | 
|   174     return rtcp_rtt_stats_->LastProcessedRtt(); |  | 
|   175   } |  | 
|   176  |  | 
|   177   void SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats) { |  | 
|   178     rtc::CritScope lock(&crit_); |  | 
|   179     rtcp_rtt_stats_ = rtcp_rtt_stats; |  | 
|   180   } |  | 
|   181  |  | 
|   182  private: |  | 
|   183   rtc::CriticalSection crit_; |  | 
|   184   RtcpRttStats* rtcp_rtt_stats_ GUARDED_BY(crit_); |  | 
|   185   RTC_DISALLOW_COPY_AND_ASSIGN(RtcpRttStatsProxy); |  | 
|   186 }; |  | 
|   187  |  | 
|   188 class TransportFeedbackProxy : public TransportFeedbackObserver { |   160 class TransportFeedbackProxy : public TransportFeedbackObserver { | 
|   189  public: |   161  public: | 
|   190   TransportFeedbackProxy() : feedback_observer_(nullptr) { |   162   TransportFeedbackProxy() : feedback_observer_(nullptr) { | 
|   191     pacer_thread_.DetachFromThread(); |   163     pacer_thread_.DetachFromThread(); | 
|   192     network_thread_.DetachFromThread(); |   164     network_thread_.DetachFromThread(); | 
|   193   } |   165   } | 
|   194  |   166  | 
|   195   void SetTransportFeedbackObserver( |   167   void SetTransportFeedbackObserver( | 
|   196       TransportFeedbackObserver* feedback_observer) { |   168       TransportFeedbackObserver* feedback_observer) { | 
|   197     RTC_DCHECK(thread_checker_.CalledOnValidThread()); |   169     RTC_DCHECK(thread_checker_.CalledOnValidThread()); | 
| (...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   836                "Channel::RecordFileEnded() => output file recorder module is" |   808                "Channel::RecordFileEnded() => output file recorder module is" | 
|   837                " shutdown"); |   809                " shutdown"); | 
|   838 } |   810 } | 
|   839  |   811  | 
|   840 Channel::Channel(int32_t channelId, |   812 Channel::Channel(int32_t channelId, | 
|   841                  uint32_t instanceId, |   813                  uint32_t instanceId, | 
|   842                  const VoEBase::ChannelConfig& config) |   814                  const VoEBase::ChannelConfig& config) | 
|   843     : _instanceId(instanceId), |   815     : _instanceId(instanceId), | 
|   844       _channelId(channelId), |   816       _channelId(channelId), | 
|   845       event_log_proxy_(new RtcEventLogProxy()), |   817       event_log_proxy_(new RtcEventLogProxy()), | 
|   846       rtcp_rtt_stats_proxy_(new RtcpRttStatsProxy()), |  | 
|   847       rtp_header_parser_(RtpHeaderParser::Create()), |   818       rtp_header_parser_(RtpHeaderParser::Create()), | 
|   848       rtp_payload_registry_( |   819       rtp_payload_registry_( | 
|   849           new RTPPayloadRegistry(RTPPayloadStrategy::CreateStrategy(true))), |   820           new RTPPayloadRegistry(RTPPayloadStrategy::CreateStrategy(true))), | 
|   850       rtp_receive_statistics_( |   821       rtp_receive_statistics_( | 
|   851           ReceiveStatistics::Create(Clock::GetRealTimeClock())), |   822           ReceiveStatistics::Create(Clock::GetRealTimeClock())), | 
|   852       rtp_receiver_( |   823       rtp_receiver_( | 
|   853           RtpReceiver::CreateAudioReceiver(Clock::GetRealTimeClock(), |   824           RtpReceiver::CreateAudioReceiver(Clock::GetRealTimeClock(), | 
|   854                                            this, |   825                                            this, | 
|   855                                            this, |   826                                            this, | 
|   856                                            rtp_payload_registry_.get())), |   827                                            rtp_payload_registry_.get())), | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   922   configuration.outgoing_transport = this; |   893   configuration.outgoing_transport = this; | 
|   923   configuration.receive_statistics = rtp_receive_statistics_.get(); |   894   configuration.receive_statistics = rtp_receive_statistics_.get(); | 
|   924   configuration.bandwidth_callback = rtcp_observer_.get(); |   895   configuration.bandwidth_callback = rtcp_observer_.get(); | 
|   925   if (pacing_enabled_) { |   896   if (pacing_enabled_) { | 
|   926     configuration.paced_sender = rtp_packet_sender_proxy_.get(); |   897     configuration.paced_sender = rtp_packet_sender_proxy_.get(); | 
|   927     configuration.transport_sequence_number_allocator = |   898     configuration.transport_sequence_number_allocator = | 
|   928         seq_num_allocator_proxy_.get(); |   899         seq_num_allocator_proxy_.get(); | 
|   929     configuration.transport_feedback_callback = feedback_observer_proxy_.get(); |   900     configuration.transport_feedback_callback = feedback_observer_proxy_.get(); | 
|   930   } |   901   } | 
|   931   configuration.event_log = &(*event_log_proxy_); |   902   configuration.event_log = &(*event_log_proxy_); | 
|   932   configuration.rtt_stats = &(*rtcp_rtt_stats_proxy_); |  | 
|   933   configuration.retransmission_rate_limiter = |   903   configuration.retransmission_rate_limiter = | 
|   934       retransmission_rate_limiter_.get(); |   904       retransmission_rate_limiter_.get(); | 
|   935  |   905  | 
|   936   _rtpRtcpModule.reset(RtpRtcp::CreateRtpRtcp(configuration)); |   906   _rtpRtcpModule.reset(RtpRtcp::CreateRtpRtcp(configuration)); | 
|   937   _rtpRtcpModule->SetSendingMediaStatus(false); |   907   _rtpRtcpModule->SetSendingMediaStatus(false); | 
|   938  |   908  | 
|   939   statistics_proxy_.reset(new StatisticsProxy(_rtpRtcpModule->SSRC())); |   909   statistics_proxy_.reset(new StatisticsProxy(_rtpRtcpModule->SSRC())); | 
|   940   rtp_receive_statistics_->RegisterRtcpStatisticsCallback( |   910   rtp_receive_statistics_->RegisterRtcpStatisticsCallback( | 
|   941       statistics_proxy_.get()); |   911       statistics_proxy_.get()); | 
|   942 } |   912 } | 
| (...skipping 1891 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2834     // Channel ID, disassociate with it. |  2804     // Channel ID, disassociate with it. | 
|  2835     ChannelOwner ref(NULL); |  2805     ChannelOwner ref(NULL); | 
|  2836     associate_send_channel_ = ref; |  2806     associate_send_channel_ = ref; | 
|  2837   } |  2807   } | 
|  2838 } |  2808 } | 
|  2839  |  2809  | 
|  2840 void Channel::SetRtcEventLog(RtcEventLog* event_log) { |  2810 void Channel::SetRtcEventLog(RtcEventLog* event_log) { | 
|  2841   event_log_proxy_->SetEventLog(event_log); |  2811   event_log_proxy_->SetEventLog(event_log); | 
|  2842 } |  2812 } | 
|  2843  |  2813  | 
|  2844 void Channel::SetRtcpRttStats(RtcpRttStats* rtcp_rtt_stats) { |  | 
|  2845   rtcp_rtt_stats_proxy_->SetRtcpRttStats(rtcp_rtt_stats); |  | 
|  2846 } |  | 
|  2847  |  | 
|  2848 int Channel::RegisterExternalMediaProcessing(ProcessingTypes type, |  2814 int Channel::RegisterExternalMediaProcessing(ProcessingTypes type, | 
|  2849                                              VoEMediaProcess& processObject) { |  2815                                              VoEMediaProcess& processObject) { | 
|  2850   WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, _channelId), |  2816   WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, _channelId), | 
|  2851                "Channel::RegisterExternalMediaProcessing()"); |  2817                "Channel::RegisterExternalMediaProcessing()"); | 
|  2852  |  2818  | 
|  2853   rtc::CritScope cs(&_callbackCritSect); |  2819   rtc::CritScope cs(&_callbackCritSect); | 
|  2854  |  2820  | 
|  2855   if (kPlaybackPerChannel == type) { |  2821   if (kPlaybackPerChannel == type) { | 
|  2856     if (_outputExternalMediaCallbackPtr) { |  2822     if (_outputExternalMediaCallbackPtr) { | 
|  2857       _engineStatisticsPtr->SetLastError( |  2823       _engineStatisticsPtr->SetLastError( | 
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  3255   int64_t min_rtt = 0; |  3221   int64_t min_rtt = 0; | 
|  3256   if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) != |  3222   if (_rtpRtcpModule->RTT(remoteSSRC, &rtt, &avg_rtt, &min_rtt, &max_rtt) != | 
|  3257       0) { |  3223       0) { | 
|  3258     return 0; |  3224     return 0; | 
|  3259   } |  3225   } | 
|  3260   return rtt; |  3226   return rtt; | 
|  3261 } |  3227 } | 
|  3262  |  3228  | 
|  3263 }  // namespace voe |  3229 }  // namespace voe | 
|  3264 }  // namespace webrtc |  3230 }  // namespace webrtc | 
| OLD | NEW |