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

Side by Side Diff: talk/media/base/mediachannel.h

Issue 1388723002: Remove default receive channel from WVoE; baby step 1. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@wvoe_misc_clean
Patch Set: rebase Created 5 years, 2 months 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 | « no previous file | talk/media/webrtc/fakewebrtcvoiceengine.h » ('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 * libjingle 2 * libjingle
3 * Copyright 2004 Google Inc. 3 * Copyright 2004 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 } 153 }
154 154
155 // Options that can be applied to a VoiceMediaChannel or a VoiceMediaEngine. 155 // Options that can be applied to a VoiceMediaChannel or a VoiceMediaEngine.
156 // Used to be flags, but that makes it hard to selectively apply options. 156 // Used to be flags, but that makes it hard to selectively apply options.
157 // We are moving all of the setting of options to structs like this, 157 // We are moving all of the setting of options to structs like this,
158 // but some things currently still use flags. 158 // but some things currently still use flags.
159 struct AudioOptions { 159 struct AudioOptions {
160 void SetAll(const AudioOptions& change) { 160 void SetAll(const AudioOptions& change) {
161 echo_cancellation.SetFrom(change.echo_cancellation); 161 echo_cancellation.SetFrom(change.echo_cancellation);
162 auto_gain_control.SetFrom(change.auto_gain_control); 162 auto_gain_control.SetFrom(change.auto_gain_control);
163 rx_auto_gain_control.SetFrom(change.rx_auto_gain_control);
164 noise_suppression.SetFrom(change.noise_suppression); 163 noise_suppression.SetFrom(change.noise_suppression);
165 highpass_filter.SetFrom(change.highpass_filter); 164 highpass_filter.SetFrom(change.highpass_filter);
166 stereo_swapping.SetFrom(change.stereo_swapping); 165 stereo_swapping.SetFrom(change.stereo_swapping);
167 audio_jitter_buffer_max_packets.SetFrom( 166 audio_jitter_buffer_max_packets.SetFrom(
168 change.audio_jitter_buffer_max_packets); 167 change.audio_jitter_buffer_max_packets);
169 audio_jitter_buffer_fast_accelerate.SetFrom( 168 audio_jitter_buffer_fast_accelerate.SetFrom(
170 change.audio_jitter_buffer_fast_accelerate); 169 change.audio_jitter_buffer_fast_accelerate);
171 typing_detection.SetFrom(change.typing_detection); 170 typing_detection.SetFrom(change.typing_detection);
172 aecm_generate_comfort_noise.SetFrom(change.aecm_generate_comfort_noise); 171 aecm_generate_comfort_noise.SetFrom(change.aecm_generate_comfort_noise);
173 conference_mode.SetFrom(change.conference_mode); 172 conference_mode.SetFrom(change.conference_mode);
174 adjust_agc_delta.SetFrom(change.adjust_agc_delta); 173 adjust_agc_delta.SetFrom(change.adjust_agc_delta);
175 experimental_agc.SetFrom(change.experimental_agc); 174 experimental_agc.SetFrom(change.experimental_agc);
176 extended_filter_aec.SetFrom(change.extended_filter_aec); 175 extended_filter_aec.SetFrom(change.extended_filter_aec);
177 delay_agnostic_aec.SetFrom(change.delay_agnostic_aec); 176 delay_agnostic_aec.SetFrom(change.delay_agnostic_aec);
178 experimental_ns.SetFrom(change.experimental_ns); 177 experimental_ns.SetFrom(change.experimental_ns);
179 aec_dump.SetFrom(change.aec_dump); 178 aec_dump.SetFrom(change.aec_dump);
180 tx_agc_target_dbov.SetFrom(change.tx_agc_target_dbov); 179 tx_agc_target_dbov.SetFrom(change.tx_agc_target_dbov);
181 tx_agc_digital_compression_gain.SetFrom( 180 tx_agc_digital_compression_gain.SetFrom(
182 change.tx_agc_digital_compression_gain); 181 change.tx_agc_digital_compression_gain);
183 tx_agc_limiter.SetFrom(change.tx_agc_limiter); 182 tx_agc_limiter.SetFrom(change.tx_agc_limiter);
184 rx_agc_target_dbov.SetFrom(change.rx_agc_target_dbov);
185 rx_agc_digital_compression_gain.SetFrom(
186 change.rx_agc_digital_compression_gain);
187 rx_agc_limiter.SetFrom(change.rx_agc_limiter);
188 recording_sample_rate.SetFrom(change.recording_sample_rate); 183 recording_sample_rate.SetFrom(change.recording_sample_rate);
189 playout_sample_rate.SetFrom(change.playout_sample_rate); 184 playout_sample_rate.SetFrom(change.playout_sample_rate);
190 dscp.SetFrom(change.dscp); 185 dscp.SetFrom(change.dscp);
191 combined_audio_video_bwe.SetFrom(change.combined_audio_video_bwe); 186 combined_audio_video_bwe.SetFrom(change.combined_audio_video_bwe);
192 } 187 }
193 188
194 bool operator==(const AudioOptions& o) const { 189 bool operator==(const AudioOptions& o) const {
195 return echo_cancellation == o.echo_cancellation && 190 return echo_cancellation == o.echo_cancellation &&
196 auto_gain_control == o.auto_gain_control && 191 auto_gain_control == o.auto_gain_control &&
197 rx_auto_gain_control == o.rx_auto_gain_control &&
198 noise_suppression == o.noise_suppression && 192 noise_suppression == o.noise_suppression &&
199 highpass_filter == o.highpass_filter && 193 highpass_filter == o.highpass_filter &&
200 stereo_swapping == o.stereo_swapping && 194 stereo_swapping == o.stereo_swapping &&
201 audio_jitter_buffer_max_packets == o.audio_jitter_buffer_max_packets && 195 audio_jitter_buffer_max_packets == o.audio_jitter_buffer_max_packets &&
202 audio_jitter_buffer_fast_accelerate == 196 audio_jitter_buffer_fast_accelerate ==
203 o.audio_jitter_buffer_fast_accelerate && 197 o.audio_jitter_buffer_fast_accelerate &&
204 typing_detection == o.typing_detection && 198 typing_detection == o.typing_detection &&
205 aecm_generate_comfort_noise == o.aecm_generate_comfort_noise && 199 aecm_generate_comfort_noise == o.aecm_generate_comfort_noise &&
206 conference_mode == o.conference_mode && 200 conference_mode == o.conference_mode &&
207 experimental_agc == o.experimental_agc && 201 experimental_agc == o.experimental_agc &&
208 extended_filter_aec == o.extended_filter_aec && 202 extended_filter_aec == o.extended_filter_aec &&
209 delay_agnostic_aec == o.delay_agnostic_aec && 203 delay_agnostic_aec == o.delay_agnostic_aec &&
210 experimental_ns == o.experimental_ns && 204 experimental_ns == o.experimental_ns &&
211 adjust_agc_delta == o.adjust_agc_delta && 205 adjust_agc_delta == o.adjust_agc_delta &&
212 aec_dump == o.aec_dump && 206 aec_dump == o.aec_dump &&
213 tx_agc_target_dbov == o.tx_agc_target_dbov && 207 tx_agc_target_dbov == o.tx_agc_target_dbov &&
214 tx_agc_digital_compression_gain == o.tx_agc_digital_compression_gain && 208 tx_agc_digital_compression_gain == o.tx_agc_digital_compression_gain &&
215 tx_agc_limiter == o.tx_agc_limiter && 209 tx_agc_limiter == o.tx_agc_limiter &&
216 rx_agc_target_dbov == o.rx_agc_target_dbov &&
217 rx_agc_digital_compression_gain == o.rx_agc_digital_compression_gain &&
218 rx_agc_limiter == o.rx_agc_limiter &&
219 recording_sample_rate == o.recording_sample_rate && 210 recording_sample_rate == o.recording_sample_rate &&
220 playout_sample_rate == o.playout_sample_rate && 211 playout_sample_rate == o.playout_sample_rate &&
221 dscp == o.dscp && 212 dscp == o.dscp &&
222 combined_audio_video_bwe == o.combined_audio_video_bwe; 213 combined_audio_video_bwe == o.combined_audio_video_bwe;
223 } 214 }
224 215
225 std::string ToString() const { 216 std::string ToString() const {
226 std::ostringstream ost; 217 std::ostringstream ost;
227 ost << "AudioOptions {"; 218 ost << "AudioOptions {";
228 ost << ToStringIfSet("aec", echo_cancellation); 219 ost << ToStringIfSet("aec", echo_cancellation);
229 ost << ToStringIfSet("agc", auto_gain_control); 220 ost << ToStringIfSet("agc", auto_gain_control);
230 ost << ToStringIfSet("rx_agc", rx_auto_gain_control);
231 ost << ToStringIfSet("ns", noise_suppression); 221 ost << ToStringIfSet("ns", noise_suppression);
232 ost << ToStringIfSet("hf", highpass_filter); 222 ost << ToStringIfSet("hf", highpass_filter);
233 ost << ToStringIfSet("swap", stereo_swapping); 223 ost << ToStringIfSet("swap", stereo_swapping);
234 ost << ToStringIfSet("audio_jitter_buffer_max_packets", 224 ost << ToStringIfSet("audio_jitter_buffer_max_packets",
235 audio_jitter_buffer_max_packets); 225 audio_jitter_buffer_max_packets);
236 ost << ToStringIfSet("audio_jitter_buffer_fast_accelerate", 226 ost << ToStringIfSet("audio_jitter_buffer_fast_accelerate",
237 audio_jitter_buffer_fast_accelerate); 227 audio_jitter_buffer_fast_accelerate);
238 ost << ToStringIfSet("typing", typing_detection); 228 ost << ToStringIfSet("typing", typing_detection);
239 ost << ToStringIfSet("comfort_noise", aecm_generate_comfort_noise); 229 ost << ToStringIfSet("comfort_noise", aecm_generate_comfort_noise);
240 ost << ToStringIfSet("conference", conference_mode); 230 ost << ToStringIfSet("conference", conference_mode);
241 ost << ToStringIfSet("agc_delta", adjust_agc_delta); 231 ost << ToStringIfSet("agc_delta", adjust_agc_delta);
242 ost << ToStringIfSet("experimental_agc", experimental_agc); 232 ost << ToStringIfSet("experimental_agc", experimental_agc);
243 ost << ToStringIfSet("extended_filter_aec", extended_filter_aec); 233 ost << ToStringIfSet("extended_filter_aec", extended_filter_aec);
244 ost << ToStringIfSet("delay_agnostic_aec", delay_agnostic_aec); 234 ost << ToStringIfSet("delay_agnostic_aec", delay_agnostic_aec);
245 ost << ToStringIfSet("experimental_ns", experimental_ns); 235 ost << ToStringIfSet("experimental_ns", experimental_ns);
246 ost << ToStringIfSet("aec_dump", aec_dump); 236 ost << ToStringIfSet("aec_dump", aec_dump);
247 ost << ToStringIfSet("tx_agc_target_dbov", tx_agc_target_dbov); 237 ost << ToStringIfSet("tx_agc_target_dbov", tx_agc_target_dbov);
248 ost << ToStringIfSet("tx_agc_digital_compression_gain", 238 ost << ToStringIfSet("tx_agc_digital_compression_gain",
249 tx_agc_digital_compression_gain); 239 tx_agc_digital_compression_gain);
250 ost << ToStringIfSet("tx_agc_limiter", tx_agc_limiter); 240 ost << ToStringIfSet("tx_agc_limiter", tx_agc_limiter);
251 ost << ToStringIfSet("rx_agc_target_dbov", rx_agc_target_dbov);
252 ost << ToStringIfSet("rx_agc_digital_compression_gain",
253 rx_agc_digital_compression_gain);
254 ost << ToStringIfSet("rx_agc_limiter", rx_agc_limiter);
255 ost << ToStringIfSet("recording_sample_rate", recording_sample_rate); 241 ost << ToStringIfSet("recording_sample_rate", recording_sample_rate);
256 ost << ToStringIfSet("playout_sample_rate", playout_sample_rate); 242 ost << ToStringIfSet("playout_sample_rate", playout_sample_rate);
257 ost << ToStringIfSet("dscp", dscp); 243 ost << ToStringIfSet("dscp", dscp);
258 ost << ToStringIfSet("combined_audio_video_bwe", combined_audio_video_bwe); 244 ost << ToStringIfSet("combined_audio_video_bwe", combined_audio_video_bwe);
259 ost << "}"; 245 ost << "}";
260 return ost.str(); 246 return ost.str();
261 } 247 }
262 248
263 // Audio processing that attempts to filter away the output signal from 249 // Audio processing that attempts to filter away the output signal from
264 // later inbound pickup. 250 // later inbound pickup.
265 Settable<bool> echo_cancellation; 251 Settable<bool> echo_cancellation;
266 // Audio processing to adjust the sensitivity of the local mic dynamically. 252 // Audio processing to adjust the sensitivity of the local mic dynamically.
267 Settable<bool> auto_gain_control; 253 Settable<bool> auto_gain_control;
268 // Audio processing to apply gain to the remote audio.
269 Settable<bool> rx_auto_gain_control;
270 // Audio processing to filter out background noise. 254 // Audio processing to filter out background noise.
271 Settable<bool> noise_suppression; 255 Settable<bool> noise_suppression;
272 // Audio processing to remove background noise of lower frequencies. 256 // Audio processing to remove background noise of lower frequencies.
273 Settable<bool> highpass_filter; 257 Settable<bool> highpass_filter;
274 // Audio processing to swap the left and right channels. 258 // Audio processing to swap the left and right channels.
275 Settable<bool> stereo_swapping; 259 Settable<bool> stereo_swapping;
276 // Audio receiver jitter buffer (NetEq) max capacity in number of packets. 260 // Audio receiver jitter buffer (NetEq) max capacity in number of packets.
277 Settable<int> audio_jitter_buffer_max_packets; 261 Settable<int> audio_jitter_buffer_max_packets;
278 // Audio receiver jitter buffer (NetEq) fast accelerate mode. 262 // Audio receiver jitter buffer (NetEq) fast accelerate mode.
279 Settable<bool> audio_jitter_buffer_fast_accelerate; 263 Settable<bool> audio_jitter_buffer_fast_accelerate;
280 // Audio processing to detect typing. 264 // Audio processing to detect typing.
281 Settable<bool> typing_detection; 265 Settable<bool> typing_detection;
282 Settable<bool> aecm_generate_comfort_noise; 266 Settable<bool> aecm_generate_comfort_noise;
283 Settable<bool> conference_mode; 267 Settable<bool> conference_mode;
284 Settable<int> adjust_agc_delta; 268 Settable<int> adjust_agc_delta;
285 Settable<bool> experimental_agc; 269 Settable<bool> experimental_agc;
286 Settable<bool> extended_filter_aec; 270 Settable<bool> extended_filter_aec;
287 Settable<bool> delay_agnostic_aec; 271 Settable<bool> delay_agnostic_aec;
288 Settable<bool> experimental_ns; 272 Settable<bool> experimental_ns;
289 Settable<bool> aec_dump; 273 Settable<bool> aec_dump;
290 // Note that tx_agc_* only applies to non-experimental AGC. 274 // Note that tx_agc_* only applies to non-experimental AGC.
291 Settable<uint16_t> tx_agc_target_dbov; 275 Settable<uint16_t> tx_agc_target_dbov;
292 Settable<uint16_t> tx_agc_digital_compression_gain; 276 Settable<uint16_t> tx_agc_digital_compression_gain;
293 Settable<bool> tx_agc_limiter; 277 Settable<bool> tx_agc_limiter;
294 Settable<uint16_t> rx_agc_target_dbov;
295 Settable<uint16_t> rx_agc_digital_compression_gain;
296 Settable<bool> rx_agc_limiter;
297 Settable<uint32_t> recording_sample_rate; 278 Settable<uint32_t> recording_sample_rate;
298 Settable<uint32_t> playout_sample_rate; 279 Settable<uint32_t> playout_sample_rate;
299 // Set DSCP value for packet sent from audio channel. 280 // Set DSCP value for packet sent from audio channel.
300 Settable<bool> dscp; 281 Settable<bool> dscp;
301 // Enable combined audio+bandwidth BWE. 282 // Enable combined audio+bandwidth BWE.
302 Settable<bool> combined_audio_video_bwe; 283 Settable<bool> combined_audio_video_bwe;
303 }; 284 };
304 285
305 // Options that can be applied to a VideoMediaChannel or a VideoMediaEngine. 286 // Options that can be applied to a VideoMediaChannel or a VideoMediaEngine.
306 // Used to be flags, but that makes it hard to selectively apply options. 287 // Used to be flags, but that makes it hard to selectively apply options.
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 // Signal when the media channel is ready to send the stream. Arguments are: 1262 // Signal when the media channel is ready to send the stream. Arguments are:
1282 // writable(bool) 1263 // writable(bool)
1283 sigslot::signal1<bool> SignalReadyToSend; 1264 sigslot::signal1<bool> SignalReadyToSend;
1284 // Signal for notifying that the remote side has closed the DataChannel. 1265 // Signal for notifying that the remote side has closed the DataChannel.
1285 sigslot::signal1<uint32_t> SignalStreamClosedRemotely; 1266 sigslot::signal1<uint32_t> SignalStreamClosedRemotely;
1286 }; 1267 };
1287 1268
1288 } // namespace cricket 1269 } // namespace cricket
1289 1270
1290 #endif // TALK_MEDIA_BASE_MEDIACHANNEL_H_ 1271 #endif // TALK_MEDIA_BASE_MEDIACHANNEL_H_
OLDNEW
« no previous file with comments | « no previous file | talk/media/webrtc/fakewebrtcvoiceengine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698