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

Side by Side Diff: webrtc/api/peerconnectioninterface.h

Issue 1717583002: Non-constraint interfaces for all constrainable interfaces (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix an ambiguous function Created 4 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 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 BundlePolicy bundle_policy; 235 BundlePolicy bundle_policy;
236 RtcpMuxPolicy rtcp_mux_policy; 236 RtcpMuxPolicy rtcp_mux_policy;
237 TcpCandidatePolicy tcp_candidate_policy; 237 TcpCandidatePolicy tcp_candidate_policy;
238 int audio_jitter_buffer_max_packets; 238 int audio_jitter_buffer_max_packets;
239 bool audio_jitter_buffer_fast_accelerate; 239 bool audio_jitter_buffer_fast_accelerate;
240 int ice_connection_receiving_timeout; // ms 240 int ice_connection_receiving_timeout; // ms
241 int ice_backup_candidate_pair_ping_interval; // ms 241 int ice_backup_candidate_pair_ping_interval; // ms
242 ContinualGatheringPolicy continual_gathering_policy; 242 ContinualGatheringPolicy continual_gathering_policy;
243 std::vector<rtc::scoped_refptr<rtc::RTCCertificate>> certificates; 243 std::vector<rtc::scoped_refptr<rtc::RTCCertificate>> certificates;
244 bool disable_prerenderer_smoothing; 244 bool disable_prerenderer_smoothing;
245 // Flags corresponding to values set by constraint flags.
246 // If there is an "override" flag, the "enable/disable" flag is only acted
247 // on if the "override" flag is true.
248 bool disable_ipv6;
249 bool override_dscp;
250 bool enable_dscp;
nisse-webrtc 2016/02/23 13:05:32 If an "override"-flag *really* is needed, I guess
hta-webrtc 2016/02/23 14:30:34 One of these (I think it was dscp) is controlled b
nisse-webrtc 2016/02/23 15:11:02 If the default value needs to be configurable at r
hta-webrtc 2016/02/24 12:40:38 I don't think you're confused enough yet :-) I don
nisse-webrtc 2016/02/24 15:48:19 Very likely.
251 bool enable_rtp_data_channel;
252 bool override_cpu_overuse_detection;
253 bool enable_cpu_overuse_detection;
254 bool override_suspend_below_min_bitrate;
255 bool suspend_below_min_bitrate;
256 bool override_screencast_min_bitrate;
257 int screencast_min_bitrate;
258 bool override_combined_audio_video_bwe;
259 bool combined_audio_video_bwe;
260 bool override_enable_dtls_srtp;
261 bool enable_dtls_srtp;
245 RTCConfiguration() 262 RTCConfiguration()
246 : type(kAll), 263 : type(kAll),
247 bundle_policy(kBundlePolicyBalanced), 264 bundle_policy(kBundlePolicyBalanced),
248 rtcp_mux_policy(kRtcpMuxPolicyNegotiate), 265 rtcp_mux_policy(kRtcpMuxPolicyNegotiate),
249 tcp_candidate_policy(kTcpCandidatePolicyEnabled), 266 tcp_candidate_policy(kTcpCandidatePolicyEnabled),
250 audio_jitter_buffer_max_packets(kAudioJitterBufferMaxPackets), 267 audio_jitter_buffer_max_packets(kAudioJitterBufferMaxPackets),
251 audio_jitter_buffer_fast_accelerate(false), 268 audio_jitter_buffer_fast_accelerate(false),
252 ice_connection_receiving_timeout(kUndefined), 269 ice_connection_receiving_timeout(kUndefined),
253 ice_backup_candidate_pair_ping_interval(kUndefined), 270 ice_backup_candidate_pair_ping_interval(kUndefined),
254 continual_gathering_policy(GATHER_ONCE), 271 continual_gathering_policy(GATHER_ONCE),
255 disable_prerenderer_smoothing(false) {} 272 disable_prerenderer_smoothing(false),
273 disable_ipv6(false),
274 override_dscp(false),
275 enable_dscp(false),
276 enable_rtp_data_channel(false),
277 override_cpu_overuse_detection(false),
278 enable_cpu_overuse_detection(false),
279 override_suspend_below_min_bitrate(false),
280 suspend_below_min_bitrate(false),
281 override_screencast_min_bitrate(false),
282 screencast_min_bitrate(0),
283 override_combined_audio_video_bwe(false),
284 combined_audio_video_bwe(false),
285 override_enable_dtls_srtp(false),
286 enable_dtls_srtp(false) {}
256 }; 287 };
257 288
258 struct RTCOfferAnswerOptions { 289 struct RTCOfferAnswerOptions {
259 static const int kUndefined = -1; 290 static const int kUndefined = -1;
260 static const int kMaxOfferToReceiveMedia = 1; 291 static const int kMaxOfferToReceiveMedia = 1;
261 292
262 // The default value for constraint offerToReceiveX:true. 293 // The default value for constraint offerToReceiveX:true.
263 static const int kOfferToReceiveMediaTrue = 1; 294 static const int kOfferToReceiveMediaTrue = 1;
264 295
265 int offer_to_receive_video; 296 int offer_to_receive_video;
(...skipping 14 matching lines...) Expand all
280 bool voice_activity_detection, 311 bool voice_activity_detection,
281 bool ice_restart, 312 bool ice_restart,
282 bool use_rtp_mux) 313 bool use_rtp_mux)
283 : offer_to_receive_video(offer_to_receive_video), 314 : offer_to_receive_video(offer_to_receive_video),
284 offer_to_receive_audio(offer_to_receive_audio), 315 offer_to_receive_audio(offer_to_receive_audio),
285 voice_activity_detection(voice_activity_detection), 316 voice_activity_detection(voice_activity_detection),
286 ice_restart(ice_restart), 317 ice_restart(ice_restart),
287 use_rtp_mux(use_rtp_mux) {} 318 use_rtp_mux(use_rtp_mux) {}
288 }; 319 };
289 320
321 // Argument to the CreatePeerConnection call.
322 struct CreateOptions {};
perkj_webrtc 2016/02/23 11:40:18 unused?
hta-webrtc 2016/02/23 14:30:34 Removing.
323
290 // Used by GetStats to decide which stats to include in the stats reports. 324 // Used by GetStats to decide which stats to include in the stats reports.
291 // |kStatsOutputLevelStandard| includes the standard stats for Javascript API; 325 // |kStatsOutputLevelStandard| includes the standard stats for Javascript API;
292 // |kStatsOutputLevelDebug| includes both the standard stats and additional 326 // |kStatsOutputLevelDebug| includes both the standard stats and additional
293 // stats for debugging purposes. 327 // stats for debugging purposes.
294 enum StatsOutputLevel { 328 enum StatsOutputLevel {
295 kStatsOutputLevelStandard, 329 kStatsOutputLevelStandard,
296 kStatsOutputLevelDebug, 330 kStatsOutputLevelDebug,
297 }; 331 };
298 332
299 // Accessor methods to active local streams. 333 // Accessor methods to active local streams.
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 408
375 // TODO(jiayl): remove the default impl and the old interface when chromium 409 // TODO(jiayl): remove the default impl and the old interface when chromium
376 // code is updated. 410 // code is updated.
377 virtual void CreateOffer(CreateSessionDescriptionObserver* observer, 411 virtual void CreateOffer(CreateSessionDescriptionObserver* observer,
378 const RTCOfferAnswerOptions& options) {} 412 const RTCOfferAnswerOptions& options) {}
379 413
380 // Create an answer to an offer. 414 // Create an answer to an offer.
381 // The CreateSessionDescriptionObserver callback will be called when done. 415 // The CreateSessionDescriptionObserver callback will be called when done.
382 virtual void CreateAnswer(CreateSessionDescriptionObserver* observer, 416 virtual void CreateAnswer(CreateSessionDescriptionObserver* observer,
383 const MediaConstraintsInterface* constraints) = 0; 417 const MediaConstraintsInterface* constraints) = 0;
418 virtual void CreateAnswer(CreateSessionDescriptionObserver* observer,
419 const RTCOfferAnswerOptions& options) = 0;
384 // Sets the local session description. 420 // Sets the local session description.
385 // JsepInterface takes the ownership of |desc| even if it fails. 421 // JsepInterface takes the ownership of |desc| even if it fails.
386 // The |observer| callback will be called when done. 422 // The |observer| callback will be called when done.
387 virtual void SetLocalDescription(SetSessionDescriptionObserver* observer, 423 virtual void SetLocalDescription(SetSessionDescriptionObserver* observer,
388 SessionDescriptionInterface* desc) = 0; 424 SessionDescriptionInterface* desc) = 0;
389 // Sets the remote session description. 425 // Sets the remote session description.
390 // JsepInterface takes the ownership of |desc| even if it fails. 426 // JsepInterface takes the ownership of |desc| even if it fails.
391 // The |observer| callback will be called when done. 427 // The |observer| callback will be called when done.
392 virtual void SetRemoteDescription(SetSessionDescriptionObserver* observer, 428 virtual void SetRemoteDescription(SetSessionDescriptionObserver* observer,
393 SessionDescriptionInterface* desc) = 0; 429 SessionDescriptionInterface* desc) = 0;
394 // Restarts or updates the ICE Agent process of gathering local candidates 430 // Restarts or updates the ICE Agent process of gathering local candidates
395 // and pinging remote candidates. 431 // and pinging remote candidates.
396 // TODO(deadbeef): Remove once Chrome is moved over to SetConfiguration. 432 // TODO(deadbeef): Remove once Chrome is moved over to SetConfiguration.
397 virtual bool UpdateIce(const IceServers& configuration, 433 virtual bool UpdateIce(const IceServers& configuration,
398 const MediaConstraintsInterface* constraints) { 434 const MediaConstraintsInterface* constraints) {
399 return false; 435 return false;
400 } 436 }
437 virtual bool UpdateIce(const IceServers& configuration) { return false; }
perkj_webrtc 2016/02/23 11:40:18 not part of this cl?
hta-webrtc 2016/02/23 14:30:34 Needed to remove all APIs with MediaConstraintsInt
401 // Sets the PeerConnection's global configuration to |config|. 438 // Sets the PeerConnection's global configuration to |config|.
402 // Any changes to STUN/TURN servers or ICE candidate policy will affect the 439 // Any changes to STUN/TURN servers or ICE candidate policy will affect the
403 // next gathering phase, and cause the next call to createOffer to generate 440 // next gathering phase, and cause the next call to createOffer to generate
404 // new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies 441 // new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies
405 // cannot be changed with this method. 442 // cannot be changed with this method.
406 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of 443 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of
407 // PeerConnectionInterface implement it. 444 // PeerConnectionInterface implement it.
408 virtual bool SetConfiguration( 445 virtual bool SetConfiguration(
409 const PeerConnectionInterface::RTCConfiguration& config) { 446 const PeerConnectionInterface::RTCConfiguration& config) {
410 return false; 447 return false;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 int network_ignore_mask; 547 int network_ignore_mask;
511 548
512 // Sets the maximum supported protocol version. The highest version 549 // Sets the maximum supported protocol version. The highest version
513 // supported by both ends will be used for the connection, i.e. if one 550 // supported by both ends will be used for the connection, i.e. if one
514 // party supports DTLS 1.0 and the other DTLS 1.2, DTLS 1.0 will be used. 551 // party supports DTLS 1.0 and the other DTLS 1.2, DTLS 1.0 will be used.
515 rtc::SSLProtocolVersion ssl_max_version; 552 rtc::SSLProtocolVersion ssl_max_version;
516 }; 553 };
517 554
518 virtual void SetOptions(const Options& options) = 0; 555 virtual void SetOptions(const Options& options) = 0;
519 556
520 virtual rtc::scoped_refptr<PeerConnectionInterface> CreatePeerConnection( 557 virtual rtc::scoped_refptr<PeerConnectionInterface> CreatePeerConnection(
perkj_webrtc 2016/02/23 11:40:18 Mark as deprecated?
hta-webrtc 2016/02/23 14:30:34 Just add // deprecated in a comment above, or is t
521 const PeerConnectionInterface::RTCConfiguration& configuration, 558 const PeerConnectionInterface::RTCConfiguration& configuration,
522 const MediaConstraintsInterface* constraints, 559 const MediaConstraintsInterface* constraints,
523 rtc::scoped_ptr<cricket::PortAllocator> allocator, 560 rtc::scoped_ptr<cricket::PortAllocator> allocator,
524 rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store, 561 rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store,
525 PeerConnectionObserver* observer) = 0; 562 PeerConnectionObserver* observer) = 0;
526 563
564 virtual rtc::scoped_refptr<PeerConnectionInterface> CreatePeerConnection(
565 const PeerConnectionInterface::RTCConfiguration& configuration,
566 rtc::scoped_ptr<cricket::PortAllocator> allocator,
567 rtc::scoped_ptr<DtlsIdentityStoreInterface> dtls_identity_store,
568 PeerConnectionObserver* observer) = 0;
569
527 virtual rtc::scoped_refptr<MediaStreamInterface> 570 virtual rtc::scoped_refptr<MediaStreamInterface>
528 CreateLocalMediaStream(const std::string& label) = 0; 571 CreateLocalMediaStream(const std::string& label) = 0;
529 572
530 // Creates a AudioSourceInterface. 573 // Creates a AudioSourceInterface.
531 // |constraints| decides audio processing settings but can be NULL. 574 // |constraints| decides audio processing settings but can be NULL.
532 virtual rtc::scoped_refptr<AudioSourceInterface> CreateAudioSource( 575 virtual rtc::scoped_refptr<AudioSourceInterface> CreateAudioSource(
perkj_webrtc 2016/02/23 11:40:18 Mark as deprecated?
533 const MediaConstraintsInterface* constraints) = 0; 576 const MediaConstraintsInterface* constraints) = 0;
577 virtual rtc::scoped_refptr<AudioSourceInterface> CreateAudioSource(
578 const cricket::AudioOptions& options) = 0;
534 579
535 // Creates a VideoSourceInterface. The new source take ownership of 580 // Creates a VideoSourceInterface. The new source take ownership of
536 // |capturer|. |constraints| decides video resolution and frame rate but can 581 // |capturer|. |constraints| decides video resolution and frame rate but can
537 // be NULL. 582 // be NULL.
538 virtual rtc::scoped_refptr<VideoSourceInterface> CreateVideoSource( 583 virtual rtc::scoped_refptr<VideoSourceInterface> CreateVideoSource(
perkj_webrtc 2016/02/23 11:40:18 Mark as deprecated?
539 cricket::VideoCapturer* capturer, 584 cricket::VideoCapturer* capturer,
540 const MediaConstraintsInterface* constraints) = 0; 585 const MediaConstraintsInterface* constraints) = 0;
586 virtual rtc::scoped_refptr<VideoSourceInterface> CreateVideoSource(
587 cricket::VideoCapturer* capturer) = 0;
541 588
542 // Creates a new local VideoTrack. The same |source| can be used in several 589 // Creates a new local VideoTrack. The same |source| can be used in several
543 // tracks. 590 // tracks.
544 virtual rtc::scoped_refptr<VideoTrackInterface> 591 virtual rtc::scoped_refptr<VideoTrackInterface>
545 CreateVideoTrack(const std::string& label, 592 CreateVideoTrack(const std::string& label,
546 VideoSourceInterface* source) = 0; 593 VideoSourceInterface* source) = 0;
547 594
548 // Creates an new AudioTrack. At the moment |source| can be NULL. 595 // Creates an new AudioTrack. At the moment |source| can be NULL.
549 virtual rtc::scoped_refptr<AudioTrackInterface> 596 virtual rtc::scoped_refptr<AudioTrackInterface>
550 CreateAudioTrack(const std::string& label, 597 CreateAudioTrack(const std::string& label,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 CreatePeerConnectionFactory( 643 CreatePeerConnectionFactory(
597 rtc::Thread* worker_thread, 644 rtc::Thread* worker_thread,
598 rtc::Thread* signaling_thread, 645 rtc::Thread* signaling_thread,
599 AudioDeviceModule* default_adm, 646 AudioDeviceModule* default_adm,
600 cricket::WebRtcVideoEncoderFactory* encoder_factory, 647 cricket::WebRtcVideoEncoderFactory* encoder_factory,
601 cricket::WebRtcVideoDecoderFactory* decoder_factory); 648 cricket::WebRtcVideoDecoderFactory* decoder_factory);
602 649
603 } // namespace webrtc 650 } // namespace webrtc
604 651
605 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_ 652 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698