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

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

Issue 1810413002: Avoid clicks when muting/unmuting a voe::Channel. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 9 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
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
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 262
263 // VoEExternalMediaProcessing 263 // VoEExternalMediaProcessing
264 int RegisterExternalMediaProcessing(ProcessingTypes type, 264 int RegisterExternalMediaProcessing(ProcessingTypes type,
265 VoEMediaProcess& processObject); 265 VoEMediaProcess& processObject);
266 int DeRegisterExternalMediaProcessing(ProcessingTypes type); 266 int DeRegisterExternalMediaProcessing(ProcessingTypes type);
267 int SetExternalMixing(bool enabled); 267 int SetExternalMixing(bool enabled);
268 268
269 // VoEVolumeControl 269 // VoEVolumeControl
270 int GetSpeechOutputLevel(uint32_t& level) const; 270 int GetSpeechOutputLevel(uint32_t& level) const;
271 int GetSpeechOutputLevelFullRange(uint32_t& level) const; 271 int GetSpeechOutputLevelFullRange(uint32_t& level) const;
272 int SetMute(bool enable); 272 int SetInputMute(bool enable);
peah-webrtc 2016/03/23 15:57:04 What is motivates the name change to InputMute? Ca
the sun 2016/03/23 21:30:53 The voe::Channel is duplex. SetMute() could mean t
peah-webrtc 2016/03/24 07:04:54 Yes, I saw the other InputMute function but this c
the sun 2016/03/24 09:33:15 Input mute = mute the microphone Output mute = mut
273 bool Mute() const; 273 bool InputMute() const;
274 int SetOutputVolumePan(float left, float right); 274 int SetOutputVolumePan(float left, float right);
275 int GetOutputVolumePan(float& left, float& right) const; 275 int GetOutputVolumePan(float& left, float& right) const;
276 int SetChannelOutputVolumeScaling(float scaling); 276 int SetChannelOutputVolumeScaling(float scaling);
277 int GetChannelOutputVolumeScaling(float& scaling) const; 277 int GetChannelOutputVolumeScaling(float& scaling) const;
278 278
279 // VoENetEqStats 279 // VoENetEqStats
280 int GetNetworkStatistics(NetworkStatistics& stats); 280 int GetNetworkStatistics(NetworkStatistics& stats);
281 void GetDecodingCallStatistics(AudioDecodingCallStats* stats) const; 281 void GetDecodingCallStatistics(AudioDecodingCallStats* stats) const;
282 282
283 // VoEVideoSync 283 // VoEVideoSync
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 Transport* _transportPtr; // WebRtc socket or external transport 529 Transport* _transportPtr; // WebRtc socket or external transport
530 RMSLevel rms_level_; 530 RMSLevel rms_level_;
531 std::unique_ptr<AudioProcessing> rx_audioproc_; // far end AudioProcessing 531 std::unique_ptr<AudioProcessing> rx_audioproc_; // far end AudioProcessing
532 VoERxVadCallback* _rxVadObserverPtr; 532 VoERxVadCallback* _rxVadObserverPtr;
533 int32_t _oldVadDecision; 533 int32_t _oldVadDecision;
534 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise 534 int32_t _sendFrameType; // Send data is voice, 1-voice, 0-otherwise
535 // VoEBase 535 // VoEBase
536 bool _externalMixing; 536 bool _externalMixing;
537 bool _mixFileWithMicrophone; 537 bool _mixFileWithMicrophone;
538 // VoEVolumeControl 538 // VoEVolumeControl
539 bool _mute; 539 bool input_mute_ GUARDED_BY(volume_settings_critsect_);
540 float _panLeft; 540 bool cached_input_mute_; // Only accessed from PrepareEncodeAndSend().
541 float _panRight; 541 float _panLeft GUARDED_BY(volume_settings_critsect_);
542 float _outputGain; 542 float _panRight GUARDED_BY(volume_settings_critsect_);
543 float _outputGain GUARDED_BY(volume_settings_critsect_);
543 // VoeRTP_RTCP 544 // VoeRTP_RTCP
544 uint32_t _lastLocalTimeStamp; 545 uint32_t _lastLocalTimeStamp;
545 int8_t _lastPayloadType; 546 int8_t _lastPayloadType;
546 bool _includeAudioLevelIndication; 547 bool _includeAudioLevelIndication;
547 // VoENetwork 548 // VoENetwork
548 AudioFrame::SpeechType _outputSpeechType; 549 AudioFrame::SpeechType _outputSpeechType;
549 // VoEVideoSync 550 // VoEVideoSync
550 rtc::CriticalSection video_sync_lock_; 551 rtc::CriticalSection video_sync_lock_;
551 uint32_t _average_jitter_buffer_delay_us GUARDED_BY(video_sync_lock_); 552 uint32_t _average_jitter_buffer_delay_us GUARDED_BY(video_sync_lock_);
552 uint32_t _previousTimestamp; 553 uint32_t _previousTimestamp;
(...skipping 14 matching lines...) Expand all
567 PacketRouter* packet_router_ = nullptr; 568 PacketRouter* packet_router_ = nullptr;
568 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_; 569 std::unique_ptr<TransportFeedbackProxy> feedback_observer_proxy_;
569 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_; 570 std::unique_ptr<TransportSequenceNumberProxy> seq_num_allocator_proxy_;
570 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_; 571 std::unique_ptr<RtpPacketSenderProxy> rtp_packet_sender_proxy_;
571 }; 572 };
572 573
573 } // namespace voe 574 } // namespace voe
574 } // namespace webrtc 575 } // namespace webrtc
575 576
576 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ 577 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698