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

Side by Side Diff: webrtc/modules/audio_coding/main/interface/audio_coding_module.h

Issue 1267683002: Hooked up RtcEventLog. It lives in Voice Engine and pointers are propagated to ACM and Call. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Moved RtcEventLog from SharedData to ChannelManager. Created 5 years, 4 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
11 #ifndef WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_ 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_
12 #define WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_ 12 #define WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_
13 13
14 #include <vector> 14 #include <vector>
15 15
16 #include "webrtc/common_types.h" 16 #include "webrtc/common_types.h"
17 #include "webrtc/modules/audio_coding/main/acm2/acm_codec_database.h" 17 #include "webrtc/modules/audio_coding/main/acm2/acm_codec_database.h"
18 #include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedef s.h" 18 #include "webrtc/modules/audio_coding/main/interface/audio_coding_module_typedef s.h"
19 #include "webrtc/modules/audio_coding/neteq/interface/neteq.h" 19 #include "webrtc/modules/audio_coding/neteq/interface/neteq.h"
20 #include "webrtc/modules/interface/module.h" 20 #include "webrtc/modules/interface/module.h"
21 #include "webrtc/system_wrappers/interface/clock.h" 21 #include "webrtc/system_wrappers/interface/clock.h"
22 #include "webrtc/typedefs.h" 22 #include "webrtc/typedefs.h"
23 23
24 namespace webrtc { 24 namespace webrtc {
25 25
26 // forward declarations 26 // forward declarations
27 struct CodecInst; 27 struct CodecInst;
28 struct WebRtcRTPHeader; 28 struct WebRtcRTPHeader;
29 class AudioEncoderMutable;
29 class AudioFrame; 30 class AudioFrame;
31 class RtcEventLog;
30 class RTPFragmentationHeader; 32 class RTPFragmentationHeader;
31 class AudioEncoderMutable;
32 33
33 #define WEBRTC_10MS_PCM_AUDIO 960 // 16 bits super wideband 48 kHz 34 #define WEBRTC_10MS_PCM_AUDIO 960 // 16 bits super wideband 48 kHz
34 35
35 // Callback class used for sending data ready to be packetized 36 // Callback class used for sending data ready to be packetized
36 class AudioPacketizationCallback { 37 class AudioPacketizationCallback {
37 public: 38 public:
38 virtual ~AudioPacketizationCallback() {} 39 virtual ~AudioPacketizationCallback() {}
39 40
40 virtual int32_t SendData(FrameType frame_type, 41 virtual int32_t SendData(FrameType frame_type,
41 uint8_t payload_type, 42 uint8_t payload_type,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 78
78 class AudioCodingModule { 79 class AudioCodingModule {
79 protected: 80 protected:
80 AudioCodingModule() {} 81 AudioCodingModule() {}
81 82
82 public: 83 public:
83 struct Config { 84 struct Config {
84 Config() 85 Config()
85 : id(0), 86 : id(0),
86 neteq_config(), 87 neteq_config(),
87 clock(Clock::GetRealTimeClock()) {} 88 clock(Clock::GetRealTimeClock()),
89 event_log(nullptr) {}
88 90
89 int id; 91 int id;
90 NetEq::Config neteq_config; 92 NetEq::Config neteq_config;
91 Clock* clock; 93 Clock* clock;
94 RtcEventLog* event_log;
92 }; 95 };
93 96
94 /////////////////////////////////////////////////////////////////////////// 97 ///////////////////////////////////////////////////////////////////////////
95 // Creation and destruction of a ACM. 98 // Creation and destruction of a ACM.
96 // 99 //
97 // The second method is used for testing where a simulated clock can be 100 // The second method is used for testing where a simulated clock can be
98 // injected into ACM. ACM will take the ownership of the object clock and 101 // injected into ACM. ACM will take the ownership of the object clock and
99 // delete it when destroyed. 102 // delete it when destroyed.
100 // 103 //
101 static AudioCodingModule* Create(int id); 104 static AudioCodingModule* Create(int id);
(...skipping 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 virtual std::vector<uint16_t> GetNackList(int round_trip_time_ms) const = 0; 1165 virtual std::vector<uint16_t> GetNackList(int round_trip_time_ms) const = 0;
1163 1166
1164 // Returns the timing statistics for calls to Get10MsAudio. 1167 // Returns the timing statistics for calls to Get10MsAudio.
1165 virtual void GetDecodingCallStatistics( 1168 virtual void GetDecodingCallStatistics(
1166 AudioDecodingCallStats* call_stats) const = 0; 1169 AudioDecodingCallStats* call_stats) const = 0;
1167 }; 1170 };
1168 1171
1169 } // namespace webrtc 1172 } // namespace webrtc
1170 1173
1171 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_ 1174 #endif // WEBRTC_MODULES_AUDIO_CODING_MAIN_INTERFACE_AUDIO_CODING_MODULE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698