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 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; | 469 std::unique_ptr<rtc::TimestampWrapAroundHandler> rtp_ts_wraparound_handler_; |
472 // The rtp timestamp of the first played out audio frame. | 470 // The rtp timestamp of the first played out audio frame. |
473 int64_t capture_start_rtp_time_stamp_; | 471 int64_t capture_start_rtp_time_stamp_; |
474 // The capture ntp time (in local timebase) of the first played out audio | 472 // The capture ntp time (in local timebase) of the first played out audio |
475 // frame. | 473 // frame. |
476 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); | 474 int64_t capture_start_ntp_time_ms_ GUARDED_BY(ts_stats_lock_); |
477 | 475 |
478 // uses | 476 // uses |
479 Statistics* _engineStatisticsPtr; | 477 Statistics* _engineStatisticsPtr; |
480 OutputMixer* _outputMixerPtr; | 478 OutputMixer* _outputMixerPtr; |
481 TransmitMixer* _transmitMixerPtr; | |
482 ProcessThread* _moduleProcessThreadPtr; | 479 ProcessThread* _moduleProcessThreadPtr; |
483 AudioDeviceModule* _audioDeviceModulePtr; | 480 AudioDeviceModule* _audioDeviceModulePtr; |
484 VoiceEngineObserver* _voiceEngineObserverPtr; // owned by base | 481 VoiceEngineObserver* _voiceEngineObserverPtr; // owned by base |
485 rtc::CriticalSection* _callbackCritSectPtr; // owned by base | 482 rtc::CriticalSection* _callbackCritSectPtr; // owned by base |
486 Transport* _transportPtr; // WebRtc socket or external transport | 483 Transport* _transportPtr; // WebRtc socket or external transport |
487 RmsLevel rms_level_; | 484 RmsLevel rms_level_; |
488 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise | 485 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise |
489 // VoEBase | 486 // VoEBase |
490 bool _mixFileWithMicrophone; | 487 bool _mixFileWithMicrophone; |
491 // VoEVolumeControl | 488 // VoEVolumeControl |
(...skipping 29 matching lines...) Expand all Loading... |
521 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; | 518 std::unique_ptr<RateLimiter> retransmission_rate_limiter_; |
522 | 519 |
523 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. | 520 // TODO(ossu): Remove once GetAudioDecoderFactory() is no longer needed. |
524 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; | 521 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; |
525 }; | 522 }; |
526 | 523 |
527 } // namespace voe | 524 } // namespace voe |
528 } // namespace webrtc | 525 } // namespace webrtc |
529 | 526 |
530 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ | 527 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ |
OLD | NEW |