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 |