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 |
11 #ifndef VOICE_ENGINE_VOE_BASE_IMPL_H_ | 11 #ifndef VOICE_ENGINE_VOE_BASE_IMPL_H_ |
12 #define VOICE_ENGINE_VOE_BASE_IMPL_H_ | 12 #define VOICE_ENGINE_VOE_BASE_IMPL_H_ |
13 | 13 |
14 #include "voice_engine/include/voe_base.h" | 14 #include "voice_engine/include/voe_base.h" |
15 | 15 |
16 #include "modules/include/module_common_types.h" | 16 #include "modules/include/module_common_types.h" |
17 #include "rtc_base/criticalsection.h" | 17 #include "rtc_base/criticalsection.h" |
18 #include "voice_engine/shared_data.h" | 18 #include "voice_engine/shared_data.h" |
19 | 19 |
20 namespace webrtc { | 20 namespace webrtc { |
21 | 21 |
22 class ProcessThread; | 22 class ProcessThread; |
23 | 23 |
24 class VoEBaseImpl : public VoEBase, | 24 class VoEBaseImpl : public VoEBase, |
25 public AudioTransport, | 25 public AudioTransport, |
26 public AudioDeviceObserver { | 26 public AudioDeviceObserver { |
27 public: | 27 public: |
28 int RegisterVoiceEngineObserver(VoiceEngineObserver& observer) override; | |
29 int DeRegisterVoiceEngineObserver() override; | |
30 | |
31 int Init( | 28 int Init( |
32 AudioDeviceModule* external_adm, | 29 AudioDeviceModule* external_adm, |
33 AudioProcessing* audio_processing, | 30 AudioProcessing* audio_processing, |
34 const rtc::scoped_refptr<AudioDecoderFactory>& decoder_factory) override; | 31 const rtc::scoped_refptr<AudioDecoderFactory>& decoder_factory) override; |
35 AudioDeviceModule* audio_device_module() override { | 32 AudioDeviceModule* audio_device_module() override { |
36 return shared_->audio_device(); | 33 return shared_->audio_device(); |
37 } | 34 } |
38 voe::TransmitMixer* transmit_mixer() override { | 35 voe::TransmitMixer* transmit_mixer() override { |
39 return shared_->transmit_mixer(); | 36 return shared_->transmit_mixer(); |
40 } | 37 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 int32_t TerminateInternal(); | 97 int32_t TerminateInternal(); |
101 | 98 |
102 void GetPlayoutData(int sample_rate, size_t number_of_channels, | 99 void GetPlayoutData(int sample_rate, size_t number_of_channels, |
103 size_t number_of_frames, bool feed_data_to_apm, | 100 size_t number_of_frames, bool feed_data_to_apm, |
104 void* audio_data, int64_t* elapsed_time_ms, | 101 void* audio_data, int64_t* elapsed_time_ms, |
105 int64_t* ntp_time_ms); | 102 int64_t* ntp_time_ms); |
106 | 103 |
107 // Initialize channel by setting Engine Information then initializing | 104 // Initialize channel by setting Engine Information then initializing |
108 // channel. | 105 // channel. |
109 int InitializeChannel(voe::ChannelOwner* channel_owner); | 106 int InitializeChannel(voe::ChannelOwner* channel_owner); |
110 VoiceEngineObserver* voiceEngineObserverPtr_; | |
111 rtc::CriticalSection callbackCritSect_; | 107 rtc::CriticalSection callbackCritSect_; |
112 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; | 108 rtc::scoped_refptr<AudioDecoderFactory> decoder_factory_; |
113 | 109 |
114 AudioFrame audioFrame_; | 110 AudioFrame audioFrame_; |
115 voe::SharedData* shared_; | 111 voe::SharedData* shared_; |
116 }; | 112 }; |
117 | 113 |
118 } // namespace webrtc | 114 } // namespace webrtc |
119 | 115 |
120 #endif // VOICE_ENGINE_VOE_BASE_IMPL_H_ | 116 #endif // VOICE_ENGINE_VOE_BASE_IMPL_H_ |
OLD | NEW |