Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(152)

Side by Side Diff: webrtc/voice_engine/voice_engine_impl.h

Issue 1459083007: Open backdoor in VoiceEngineImpl to get at the actual voe::Channel objects from an ID. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: presubmit complaints Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/voice_engine/voice_engine.gyp ('k') | webrtc/voice_engine/voice_engine_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H 11 #ifndef WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H
12 #define WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H 12 #define WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H
13 13
14 #include "webrtc/base/scoped_ptr.h"
14 #include "webrtc/engine_configurations.h" 15 #include "webrtc/engine_configurations.h"
15 #include "webrtc/system_wrappers/include/atomic32.h" 16 #include "webrtc/system_wrappers/include/atomic32.h"
16 #include "webrtc/voice_engine/voe_base_impl.h" 17 #include "webrtc/voice_engine/voe_base_impl.h"
17 18
18 #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API 19 #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
19 #include "webrtc/voice_engine/voe_audio_processing_impl.h" 20 #include "webrtc/voice_engine/voe_audio_processing_impl.h"
20 #endif 21 #endif
21 #ifdef WEBRTC_VOICE_ENGINE_CODEC_API 22 #ifdef WEBRTC_VOICE_ENGINE_CODEC_API
22 #include "webrtc/voice_engine/voe_codec_impl.h" 23 #include "webrtc/voice_engine/voe_codec_impl.h"
23 #endif 24 #endif
(...skipping 17 matching lines...) Expand all
41 #include "webrtc/voice_engine/voe_rtp_rtcp_impl.h" 42 #include "webrtc/voice_engine/voe_rtp_rtcp_impl.h"
42 #endif 43 #endif
43 #ifdef WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API 44 #ifdef WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
44 #include "webrtc/voice_engine/voe_video_sync_impl.h" 45 #include "webrtc/voice_engine/voe_video_sync_impl.h"
45 #endif 46 #endif
46 #ifdef WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API 47 #ifdef WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
47 #include "webrtc/voice_engine/voe_volume_control_impl.h" 48 #include "webrtc/voice_engine/voe_volume_control_impl.h"
48 #endif 49 #endif
49 50
50 namespace webrtc { 51 namespace webrtc {
52 namespace voe {
53 class ChannelProxy;
54 } // namespace voe
51 55
52 class VoiceEngineImpl : public voe::SharedData, // Must be the first base class 56 class VoiceEngineImpl : public voe::SharedData, // Must be the first base class
53 public VoiceEngine, 57 public VoiceEngine,
54 #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API 58 #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
55 public VoEAudioProcessingImpl, 59 public VoEAudioProcessingImpl,
56 #endif 60 #endif
57 #ifdef WEBRTC_VOICE_ENGINE_CODEC_API 61 #ifdef WEBRTC_VOICE_ENGINE_CODEC_API
58 public VoECodecImpl, 62 public VoECodecImpl,
59 #endif 63 #endif
60 #ifdef WEBRTC_VOICE_ENGINE_DTMF_API 64 #ifdef WEBRTC_VOICE_ENGINE_DTMF_API
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 _ref_count(0), 125 _ref_count(0),
122 own_config_(owns_config ? config : NULL) { 126 own_config_(owns_config ? config : NULL) {
123 } 127 }
124 ~VoiceEngineImpl() override { assert(_ref_count.Value() == 0); } 128 ~VoiceEngineImpl() override { assert(_ref_count.Value() == 0); }
125 129
126 int AddRef(); 130 int AddRef();
127 131
128 // This implements the Release() method for all the inherited interfaces. 132 // This implements the Release() method for all the inherited interfaces.
129 int Release() override; 133 int Release() override;
130 134
135 // Backdoor to access a voe::Channel object without a channel ID. This is only
136 // to be used while refactoring the VoE API!
137 virtual rtc::scoped_ptr<voe::ChannelProxy> GetChannelProxy(int channel_id);
138
131 // This is *protected* so that FakeVoiceEngine can inherit from the class and 139 // This is *protected* so that FakeVoiceEngine can inherit from the class and
132 // manipulate the reference count. See: fake_voice_engine.h. 140 // manipulate the reference count. See: fake_voice_engine.h.
133 protected: 141 protected:
134 Atomic32 _ref_count; 142 Atomic32 _ref_count;
135 private: 143 private:
136 rtc::scoped_ptr<const Config> own_config_; 144 rtc::scoped_ptr<const Config> own_config_;
137 }; 145 };
138 146
139 } // namespace webrtc 147 } // namespace webrtc
140 148
141 #endif // WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H 149 #endif // WEBRTC_VOICE_ENGINE_VOICE_ENGINE_IMPL_H
OLDNEW
« no previous file with comments | « webrtc/voice_engine/voice_engine.gyp ('k') | webrtc/voice_engine/voice_engine_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698