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

Side by Side Diff: webrtc/modules/audio_device/include/audio_device_defines.h

Issue 2219653004: Remove old methods in AudioTransport, make it pass a gn build (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix compile. Created 4 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) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 59
60 virtual int32_t NeedMorePlayData(const size_t nSamples, 60 virtual int32_t NeedMorePlayData(const size_t nSamples,
61 const size_t nBytesPerSample, 61 const size_t nBytesPerSample,
62 const size_t nChannels, 62 const size_t nChannels,
63 const uint32_t samplesPerSec, 63 const uint32_t samplesPerSec,
64 void* audioSamples, 64 void* audioSamples,
65 size_t& nSamplesOut, 65 size_t& nSamplesOut,
66 int64_t* elapsed_time_ms, 66 int64_t* elapsed_time_ms,
67 int64_t* ntp_time_ms) = 0; 67 int64_t* ntp_time_ms) = 0;
68 68
69 // Method to pass captured data directly and unmixed to network channels.
70 // |channel_ids| contains a list of VoE channels which are the
71 // sinks to the capture data. |audio_delay_milliseconds| is the sum of
72 // recording delay and playout delay of the hardware. |current_volume| is
73 // in the range of [0, 255], representing the current microphone analog
74 // volume. |key_pressed| is used by the typing detection.
75 // |need_audio_processing| specify if the data needs to be processed by APM.
76 // Currently WebRtc supports only one APM, and Chrome will make sure only
77 // one stream goes through APM. When |need_audio_processing| is false, the
78 // values of |audio_delay_milliseconds|, |current_volume| and |key_pressed|
79 // will be ignored.
80 // The return value is the new microphone volume, in the range of |0, 255].
81 // When the volume does not need to be updated, it returns 0.
82 // TODO(xians): Remove this interface after Chrome and Libjingle switches
83 // to OnData().
84 virtual int OnDataAvailable(const int voe_channels[],
85 size_t number_of_voe_channels,
86 const int16_t* audio_data,
87 int sample_rate,
88 size_t number_of_channels,
89 size_t number_of_frames,
90 int audio_delay_milliseconds,
91 int current_volume,
92 bool key_pressed,
93 bool need_audio_processing) {
94 return 0;
95 }
96
97 // Method to pass the captured audio data to the specific VoE channel.
98 // |voe_channel| is the id of the VoE channel which is the sink to the
99 // capture data.
100 // TODO(xians): Remove this interface after Libjingle switches to
101 // PushCaptureData().
102 virtual void OnData(int voe_channel,
103 const void* audio_data,
104 int bits_per_sample,
105 int sample_rate,
106 size_t number_of_channels,
107 size_t number_of_frames) {}
108
109 // Method to push the captured audio data to the specific VoE channel. 69 // Method to push the captured audio data to the specific VoE channel.
110 // The data will not undergo audio processing. 70 // The data will not undergo audio processing.
111 // |voe_channel| is the id of the VoE channel which is the sink to the 71 // |voe_channel| is the id of the VoE channel which is the sink to the
112 // capture data. 72 // capture data.
113 // TODO(xians): Make the interface pure virtual after Libjingle
114 // has its implementation.
115 virtual void PushCaptureData(int voe_channel, 73 virtual void PushCaptureData(int voe_channel,
116 const void* audio_data, 74 const void* audio_data,
117 int bits_per_sample, 75 int bits_per_sample,
118 int sample_rate, 76 int sample_rate,
119 size_t number_of_channels, 77 size_t number_of_channels,
120 size_t number_of_frames) {} 78 size_t number_of_frames) = 0;
121 79
122 // Method to pull mixed render audio data from all active VoE channels. 80 // Method to pull mixed render audio data from all active VoE channels.
123 // The data will not be passed as reference for audio processing internally. 81 // The data will not be passed as reference for audio processing internally.
124 // TODO(xians): Support getting the unmixed render data from specific VoE 82 // TODO(xians): Support getting the unmixed render data from specific VoE
125 // channel. 83 // channel.
126 virtual void PullRenderData(int bits_per_sample, 84 virtual void PullRenderData(int bits_per_sample,
127 int sample_rate, 85 int sample_rate,
128 size_t number_of_channels, 86 size_t number_of_channels,
129 size_t number_of_frames, 87 size_t number_of_frames,
130 void* audio_data, 88 void* audio_data,
131 int64_t* elapsed_time_ms, 89 int64_t* elapsed_time_ms,
132 int64_t* ntp_time_ms) {} 90 int64_t* ntp_time_ms) = 0;
133 91
134 protected: 92 protected:
135 virtual ~AudioTransport() {} 93 virtual ~AudioTransport() {}
136 }; 94 };
137 95
138 // Helper class for storage of fundamental audio parameters such as sample rate, 96 // Helper class for storage of fundamental audio parameters such as sample rate,
139 // number of channels, native buffer size etc. 97 // number of channels, native buffer size etc.
140 // Note that one audio frame can contain more than one channel sample and each 98 // Note that one audio frame can contain more than one channel sample and each
141 // sample is assumed to be a 16-bit PCM sample. Hence, one audio frame in 99 // sample is assumed to be a 16-bit PCM sample. Hence, one audio frame in
142 // stereo contains 2 * (16/8) = 4 bytes of data. 100 // stereo contains 2 * (16/8) = 4 bytes of data.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 private: 159 private:
202 int sample_rate_; 160 int sample_rate_;
203 size_t channels_; 161 size_t channels_;
204 size_t frames_per_buffer_; 162 size_t frames_per_buffer_;
205 size_t frames_per_10ms_buffer_; 163 size_t frames_per_10ms_buffer_;
206 }; 164 };
207 165
208 } // namespace webrtc 166 } // namespace webrtc
209 167
210 #endif // WEBRTC_MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFINES_H_ 168 #endif // WEBRTC_MODULES_AUDIO_DEVICE_INCLUDE_AUDIO_DEVICE_DEFINES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698