| 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 struct SenderInfo; | 64 struct SenderInfo; |
| 65 | 65 |
| 66 namespace voe { | 66 namespace voe { |
| 67 | 67 |
| 68 class OutputMixer; | 68 class OutputMixer; |
| 69 class RtcEventLogProxy; | 69 class RtcEventLogProxy; |
| 70 class RtcpRttStatsProxy; | 70 class RtcpRttStatsProxy; |
| 71 class RtpPacketSenderProxy; | 71 class RtpPacketSenderProxy; |
| 72 class Statistics; | 72 class Statistics; |
| 73 class TransportFeedbackProxy; | 73 class TransportFeedbackProxy; |
| 74 class TransmitMixer; | |
| 75 class TransportSequenceNumberProxy; | 74 class TransportSequenceNumberProxy; |
| 76 class VoERtcpObserver; | 75 class VoERtcpObserver; |
| 77 | 76 |
| 78 // Helper class to simplify locking scheme for members that are accessed from | 77 // Helper class to simplify locking scheme for members that are accessed from |
| 79 // multiple threads. | 78 // multiple threads. |
| 80 // Example: a member can be set on thread T1 and read by an internal audio | 79 // Example: a member can be set on thread T1 and read by an internal audio |
| 81 // thread T2. Accessing the member via this class ensures that we are | 80 // thread T2. Accessing the member via this class ensures that we are |
| 82 // safe and also avoid TSan v2 warnings. | 81 // safe and also avoid TSan v2 warnings. |
| 83 class ChannelState { | 82 class ChannelState { |
| 84 public: | 83 public: |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 Channel*& channel, | 147 Channel*& channel, |
| 149 int32_t channelId, | 148 int32_t channelId, |
| 150 uint32_t instanceId, | 149 uint32_t instanceId, |
| 151 const VoEBase::ChannelConfig& config); | 150 const VoEBase::ChannelConfig& config); |
| 152 Channel(int32_t channelId, | 151 Channel(int32_t channelId, |
| 153 uint32_t instanceId, | 152 uint32_t instanceId, |
| 154 const VoEBase::ChannelConfig& config); | 153 const VoEBase::ChannelConfig& config); |
| 155 int32_t Init(); | 154 int32_t Init(); |
| 156 int32_t SetEngineInformation(Statistics& engineStatistics, | 155 int32_t SetEngineInformation(Statistics& engineStatistics, |
| 157 OutputMixer& outputMixer, | 156 OutputMixer& outputMixer, |
| 158 TransmitMixer& transmitMixer, | |
| 159 ProcessThread& moduleProcessThread, | 157 ProcessThread& moduleProcessThread, |
| 160 AudioDeviceModule& audioDeviceModule, | 158 AudioDeviceModule& audioDeviceModule, |
| 161 VoiceEngineObserver* voiceEngineObserver, | 159 VoiceEngineObserver* voiceEngineObserver, |
| 162 rtc::CriticalSection* callbackCritSect); | 160 rtc::CriticalSection* callbackCritSect); |
| 163 int32_t UpdateLocalTimeStamp(); | 161 int32_t UpdateLocalTimeStamp(); |
| 164 | 162 |
| 165 void SetSink(std::unique_ptr<AudioSinkInterface> sink); | 163 void SetSink(std::unique_ptr<AudioSinkInterface> sink); |
| 166 | 164 |
| 167 // TODO(ossu): Don't use! It's only here to confirm that the decoder factory | 165 // TODO(ossu): Don't use! It's only here to confirm that the decoder factory |
| 168 // passed into AudioReceiveStream is the same as the one set when creating the | 166 // passed into AudioReceiveStream is the same as the one set when creating the |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; | 468 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; |
| 471 // The rtp timestamp of the first played out audio frame. | 469 // The rtp timestamp of the first played out audio frame. |
| 472 int64_t capture_start_rtp_time_stamp_; | 470 int64_t capture_start_rtp_time_stamp_; |
| 473 // The capture ntp time (in local timebase) of the first played out audio | 471 // The capture ntp time (in local timebase) of the first played out audio |
| 474 // frame. | 472 // frame. |
| 475 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); | 473 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); |
| 476 | 474 |
| 477 // uses | 475 // uses |
| 478 Statistics* _engineStatisticsPtr; | 476 Statistics* _engineStatisticsPtr; |
| 479 OutputMixer* _outputMixerPtr; | 477 OutputMixer* _outputMixerPtr; |
| 480 TransmitMixer* _transmitMixerPtr; | |
| 481 ProcessThread* _moduleProcessThreadPtr; | 478 ProcessThread* _moduleProcessThreadPtr; |
| 482 AudioDeviceModule* _audioDeviceModulePtr; | 479 AudioDeviceModule* _audioDeviceModulePtr; |
| 483 VoiceEngineObserver* _voiceEngineObserverPtr; // owned by base | 480 VoiceEngineObserver* _voiceEngineObserverPtr; // owned by base |
| 484 rtc::CriticalSection* _callbackCritSectPtr; // owned by base | 481 rtc::CriticalSection* _callbackCritSectPtr; // owned by base |
| 485 Transport* _transportPtr; // WebRtc socket or external transport | 482 Transport* _transportPtr; // WebRtc socket or external transport |
| 486 RmsLevel rms_level_; | 483 RmsLevel rms_level_; |
| 487 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise | 484 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise |
| 488 // VoEBase | 485 // VoEBase |
| 489 bool _mixFileWithMicrophone; | 486 bool _mixFileWithMicrophone; |
| 490 // VoEVolumeControl | 487 // VoEVolumeControl |
| (...skipping 28 matching lines...) Expand all Loading... |
| 519 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; | 516 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; |
| 520 | 517 |
| 521 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. | 518 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. |
| 522 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; | 519 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; |
| 523 }; | 520 }; |
| 524 | 521 |
| 525 } // namespace voe | 522 } // namespace voe |
| 526 } // namespace webrtc | 523 } // namespace webrtc |
| 527 | 524 |
| 528 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ | 525 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ |
| OLD | NEW |