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

Side by Side Diff: webrtc/media/engine/webrtcvoiceengine.h

Issue 2685893002: Support N unsignaled audio streams (Closed)
Patch Set: bad comment Created 3 years, 10 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) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 const webrtc::RtpParameters& parameters) override; 172 const webrtc::RtpParameters& parameters) override;
173 173
174 void SetPlayout(bool playout) override; 174 void SetPlayout(bool playout) override;
175 void SetSend(bool send) override; 175 void SetSend(bool send) override;
176 bool SetAudioSend(uint32_t ssrc, 176 bool SetAudioSend(uint32_t ssrc,
177 bool enable, 177 bool enable,
178 const AudioOptions* options, 178 const AudioOptions* options,
179 AudioSource* source) override; 179 AudioSource* source) override;
180 bool AddSendStream(const StreamParams& sp) override; 180 bool AddSendStream(const StreamParams& sp) override;
181 bool RemoveSendStream(uint32_t ssrc) override; 181 bool RemoveSendStream(uint32_t ssrc) override;
182 bool AddRecvStream(const StreamParams& sp) override; 182 bool AddRecvStream(const StreamParams& sp) override;
Taylor Brandstetter 2017/02/17 08:36:14 It would be good to document this new behavior in
the sun 2017/02/17 10:10:57 Not sure that's the right place. Above OnPacketRec
Taylor Brandstetter 2017/02/17 10:34:46 I realize now I was thinking of "SetOutputVolume".
the sun 2017/02/17 11:22:47 Done.
183 bool RemoveRecvStream(uint32_t ssrc) override; 183 bool RemoveRecvStream(uint32_t ssrc) override;
184 bool GetActiveStreams(AudioInfo::StreamList* actives) override; 184 bool GetActiveStreams(AudioInfo::StreamList* actives) override;
185 int GetOutputLevel() override; 185 int GetOutputLevel() override;
186 bool SetOutputVolume(uint32_t ssrc, double volume) override; 186 bool SetOutputVolume(uint32_t ssrc, double volume) override;
187 187
188 bool CanInsertDtmf() override; 188 bool CanInsertDtmf() override;
189 bool InsertDtmf(uint32_t ssrc, int event, int duration) override; 189 bool InsertDtmf(uint32_t ssrc, int event, int duration) override;
190 190
191 void OnPacketReceived(rtc::CopyOnWriteBuffer* packet, 191 void OnPacketReceived(rtc::CopyOnWriteBuffer* packet,
192 const rtc::PacketTime& packet_time) override; 192 const rtc::PacketTime& packet_time) override;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool SetSendCodecs(const std::vector<AudioCodec>& codecs); 226 bool SetSendCodecs(const std::vector<AudioCodec>& codecs);
227 bool SetLocalSource(uint32_t ssrc, AudioSource* source); 227 bool SetLocalSource(uint32_t ssrc, AudioSource* source);
228 bool MuteStream(uint32_t ssrc, bool mute); 228 bool MuteStream(uint32_t ssrc, bool mute);
229 229
230 WebRtcVoiceEngine* engine() { return engine_; } 230 WebRtcVoiceEngine* engine() { return engine_; }
231 int GetLastEngineError() { return engine()->GetLastEngineError(); } 231 int GetLastEngineError() { return engine()->GetLastEngineError(); }
232 int GetOutputLevel(int channel); 232 int GetOutputLevel(int channel);
233 void ChangePlayout(bool playout); 233 void ChangePlayout(bool playout);
234 int CreateVoEChannel(); 234 int CreateVoEChannel();
235 bool DeleteVoEChannel(int channel); 235 bool DeleteVoEChannel(int channel);
236 bool IsDefaultRecvStream(uint32_t ssrc) {
237 return default_recv_ssrc_ == static_cast<int64_t>(ssrc);
238 }
239 bool SetMaxSendBitrate(int bps); 236 bool SetMaxSendBitrate(int bps);
240 bool ValidateRtpParameters(const webrtc::RtpParameters& parameters); 237 bool ValidateRtpParameters(const webrtc::RtpParameters& parameters);
241 void SetupRecording(); 238 void SetupRecording();
239 bool TryDeregisterUnsignaledRecvStream(uint32_t ssrc);
Taylor Brandstetter 2017/02/17 08:36:14 nit: "Try" sounds like something that might fail.
the sun 2017/02/17 10:10:57 "Maybe" is fine with me.
242 240
243 rtc::ThreadChecker worker_thread_checker_; 241 rtc::ThreadChecker worker_thread_checker_;
244 242
245 WebRtcVoiceEngine* const engine_ = nullptr; 243 WebRtcVoiceEngine* const engine_ = nullptr;
246 std::vector<AudioCodec> send_codecs_; 244 std::vector<AudioCodec> send_codecs_;
247 std::vector<AudioCodec> recv_codecs_; 245 std::vector<AudioCodec> recv_codecs_;
248 int max_send_bitrate_bps_ = 0; 246 int max_send_bitrate_bps_ = 0;
249 AudioOptions options_; 247 AudioOptions options_;
250 rtc::Optional<int> dtmf_payload_type_; 248 rtc::Optional<int> dtmf_payload_type_;
251 int dtmf_payload_freq_ = -1; 249 int dtmf_payload_freq_ = -1;
252 bool recv_transport_cc_enabled_ = false; 250 bool recv_transport_cc_enabled_ = false;
253 bool recv_nack_enabled_ = false; 251 bool recv_nack_enabled_ = false;
254 bool desired_playout_ = false; 252 bool desired_playout_ = false;
255 bool playout_ = false; 253 bool playout_ = false;
256 bool send_ = false; 254 bool send_ = false;
257 webrtc::Call* const call_ = nullptr; 255 webrtc::Call* const call_ = nullptr;
258 webrtc::Call::Config::BitrateConfig bitrate_config_; 256 webrtc::Call::Config::BitrateConfig bitrate_config_;
259 257
260 // SSRC of unsignalled receive stream, or -1 if there isn't one. 258 // Queue of unsignaled SSRCs; oldest at the beginning.
261 int64_t default_recv_ssrc_ = -1; 259 std::vector<uint32_t> unsignaled_recv_ssrcs_;
262 // Volume for unsignalled stream, which may be set before the stream exists. 260
261 // Volume for unsignaled stream, which may be set before the stream exists.
Taylor Brandstetter 2017/02/17 08:36:14 nit: "stream(s)" now?
the sun 2017/02/17 10:10:57 Done.
263 double default_recv_volume_ = 1.0; 262 double default_recv_volume_ = 1.0;
264 // Sink for unsignalled stream, which may be set before the stream exists. 263 // Sink for unsignaled stream, which may be set before the stream exists.
265 std::unique_ptr<webrtc::AudioSinkInterface> default_sink_; 264 std::unique_ptr<webrtc::AudioSinkInterface> default_sink_;
266 // Default SSRC to use for RTCP receiver reports in case of no signaled 265 // Default SSRC to use for RTCP receiver reports in case of no signaled
267 // send streams. See: https://code.google.com/p/webrtc/issues/detail?id=4740 266 // send streams. See: https://code.google.com/p/webrtc/issues/detail?id=4740
268 // and https://code.google.com/p/chromium/issues/detail?id=547661 267 // and https://code.google.com/p/chromium/issues/detail?id=547661
269 uint32_t receiver_reports_ssrc_ = 0xFA17FA17u; 268 uint32_t receiver_reports_ssrc_ = 0xFA17FA17u;
270 269
271 class WebRtcAudioSendStream; 270 class WebRtcAudioSendStream;
272 std::map<uint32_t, WebRtcAudioSendStream*> send_streams_; 271 std::map<uint32_t, WebRtcAudioSendStream*> send_streams_;
273 std::vector<webrtc::RtpExtension> send_rtp_extensions_; 272 std::vector<webrtc::RtpExtension> send_rtp_extensions_;
274 273
275 class WebRtcAudioReceiveStream; 274 class WebRtcAudioReceiveStream;
276 std::map<uint32_t, WebRtcAudioReceiveStream*> recv_streams_; 275 std::map<uint32_t, WebRtcAudioReceiveStream*> recv_streams_;
277 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; 276 std::vector<webrtc::RtpExtension> recv_rtp_extensions_;
278 277
279 webrtc::AudioSendStream::Config::SendCodecSpec send_codec_spec_; 278 webrtc::AudioSendStream::Config::SendCodecSpec send_codec_spec_;
280 279
281 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WebRtcVoiceMediaChannel); 280 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(WebRtcVoiceMediaChannel);
282 }; 281 };
283 } // namespace cricket 282 } // namespace cricket
284 283
285 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVOICEENGINE_H_ 284 #endif // WEBRTC_MEDIA_ENGINE_WEBRTCVOICEENGINE_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/media/engine/webrtcvoiceengine.cc » ('j') | webrtc/media/engine/webrtcvoiceengine.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698