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

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

Issue 2964593002: Adding stats that can be used to compute output audio levels. (Closed)
Patch Set: Remove unnecessary TODOs and address style feedback. Created 3 years, 5 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 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 int StartRecordingPlayout(OutStream* stream, const CodecInst* codecInst); 253 int StartRecordingPlayout(OutStream* stream, const CodecInst* codecInst);
254 int StopRecordingPlayout(); 254 int StopRecordingPlayout();
255 255
256 void SetMixWithMicStatus(bool mix); 256 void SetMixWithMicStatus(bool mix);
257 257
258 // Muting, Volume and Level. 258 // Muting, Volume and Level.
259 void SetInputMute(bool enable); 259 void SetInputMute(bool enable);
260 void SetChannelOutputVolumeScaling(float scaling); 260 void SetChannelOutputVolumeScaling(float scaling);
261 int GetSpeechOutputLevel() const; 261 int GetSpeechOutputLevel() const;
262 int GetSpeechOutputLevelFullRange() const; 262 int GetSpeechOutputLevelFullRange() const;
263 // See description of "totalAudioEnergy" in the WebRTC stats spec.
264 double GetTotalOutputEnergy() const;
265 double GetTotalOutputDuration() const;
263 266
264 // Stats. 267 // Stats.
265 int GetNetworkStatistics(NetworkStatistics& stats); 268 int GetNetworkStatistics(NetworkStatistics& stats);
266 void GetDecodingCallStatistics(AudioDecodingCallStats* stats) const; 269 void GetDecodingCallStatistics(AudioDecodingCallStats* stats) const;
267 270
268 // Audio+Video Sync. 271 // Audio+Video Sync.
269 uint32_t GetDelayEstimate() const; 272 uint32_t GetDelayEstimate() const;
270 int SetMinimumPlayoutDelay(int delayMs); 273 int SetMinimumPlayoutDelay(int delayMs);
271 int GetPlayoutTimestamp(unsigned int& timestamp); 274 int GetPlayoutTimestamp(unsigned int& timestamp);
272 int GetRtpRtcp(RtpRtcp** rtpRtcpModule, RtpReceiver** rtp_receiver) const; 275 int GetRtpRtcp(RtpRtcp** rtpRtcpModule, RtpReceiver** rtp_receiver) const;
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 std::unique_ptr<RTPPayloadRegistry> rtp_payload_registry_; 466 std::unique_ptr<RTPPayloadRegistry> rtp_payload_registry_;
464 std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_; 467 std::unique_ptr<ReceiveStatistics> rtp_receive_statistics_;
465 std::unique_ptr<RtpReceiver> rtp_receiver_; 468 std::unique_ptr<RtpReceiver> rtp_receiver_;
466 TelephoneEventHandler* telephone_event_handler_; 469 TelephoneEventHandler* telephone_event_handler_;
467 std::unique_ptr<RtpRtcp> _rtpRtcpModule; 470 std::unique_ptr<RtpRtcp> _rtpRtcpModule;
468 std::unique_ptr<AudioCodingModule> audio_coding_; 471 std::unique_ptr<AudioCodingModule> audio_coding_;
469 acm2::CodecManager codec_manager_; 472 acm2::CodecManager codec_manager_;
470 acm2::RentACodec rent_a_codec_; 473 acm2::RentACodec rent_a_codec_;
471 std::unique_ptr<AudioSinkInterface> audio_sink_; 474 std::unique_ptr<AudioSinkInterface> audio_sink_;
472 AudioLevel _outputAudioLevel; 475 AudioLevel _outputAudioLevel;
476 double _totalOutputEnergy = 0.0;
477 double _totalOutputDuration = 0.0;
473 bool _externalTransport; 478 bool _externalTransport;
474 // Downsamples to the codec rate if necessary. 479 // Downsamples to the codec rate if necessary.
475 PushResampler<int16_t> input_resampler_; 480 PushResampler<int16_t> input_resampler_;
476 std::unique_ptr<FilePlayer> input_file_player_; 481 std::unique_ptr<FilePlayer> input_file_player_;
477 std::unique_ptr<FilePlayer> output_file_player_; 482 std::unique_ptr<FilePlayer> output_file_player_;
478 std::unique_ptr<FileRecorder> output_file_recorder_; 483 std::unique_ptr<FileRecorder> output_file_recorder_;
479 int _inputFilePlayerId; 484 int _inputFilePlayerId;
480 int _outputFilePlayerId; 485 int _outputFilePlayerId;
481 int _outputFileRecorderId; 486 int _outputFileRecorderId;
482 bool _outputFileRecording; 487 bool _outputFileRecording;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 558
554 bool encoder_queue_is_active_ GUARDED_BY(encoder_queue_lock_) = false; 559 bool encoder_queue_is_active_ GUARDED_BY(encoder_queue_lock_) = false;
555 560
556 rtc::TaskQueue* encoder_queue_ = nullptr; 561 rtc::TaskQueue* encoder_queue_ = nullptr;
557 }; 562 };
558 563
559 } // namespace voe 564 } // namespace voe
560 } // namespace webrtc 565 } // namespace webrtc
561 566
562 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_ 567 #endif // WEBRTC_VOICE_ENGINE_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698