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

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

Issue 2587133004: Reland of: Adding error output param to SetConfiguration, using new RTCError type. (Closed)
Patch Set: Removing leftover comments Created 4 years 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 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 ice_connection_receiving_timeout = 292 ice_connection_receiving_timeout =
293 kAggressiveIceConnectionReceivingTimeout; 293 kAggressiveIceConnectionReceivingTimeout;
294 294
295 // These parameters are not defined in Java or IOS configuration, 295 // These parameters are not defined in Java or IOS configuration,
296 // so their values will not be overwritten. 296 // so their values will not be overwritten.
297 enable_ice_renomination = true; 297 enable_ice_renomination = true;
298 redetermine_role_on_ice_restart = false; 298 redetermine_role_on_ice_restart = false;
299 } 299 }
300 } 300 }
301 301
302 bool operator==(const RTCConfiguration& o) const;
303 bool operator!=(const RTCConfiguration& o) const;
304
302 bool dscp() { return media_config.enable_dscp; } 305 bool dscp() { return media_config.enable_dscp; }
303 void set_dscp(bool enable) { media_config.enable_dscp = enable; } 306 void set_dscp(bool enable) { media_config.enable_dscp = enable; }
304 307
305 // TODO(nisse): The corresponding flag in MediaConfig and 308 // TODO(nisse): The corresponding flag in MediaConfig and
306 // elsewhere should be renamed enable_cpu_adaptation. 309 // elsewhere should be renamed enable_cpu_adaptation.
307 bool cpu_adaptation() { 310 bool cpu_adaptation() {
308 return media_config.video.enable_cpu_overuse_detection; 311 return media_config.video.enable_cpu_overuse_detection;
309 } 312 }
310 void set_cpu_adaptation(bool enable) { 313 void set_cpu_adaptation(bool enable) {
311 media_config.video.enable_cpu_overuse_detection = enable; 314 media_config.video.enable_cpu_overuse_detection = enable;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 bool prune_turn_ports = false; 368 bool prune_turn_ports = false;
366 // If set to true, this means the ICE transport should presume TURN-to-TURN 369 // If set to true, this means the ICE transport should presume TURN-to-TURN
367 // candidate pairs will succeed, even before a binding response is received. 370 // candidate pairs will succeed, even before a binding response is received.
368 bool presume_writable_when_fully_relayed = false; 371 bool presume_writable_when_fully_relayed = false;
369 // If true, "renomination" will be added to the ice options in the transport 372 // If true, "renomination" will be added to the ice options in the transport
370 // description. 373 // description.
371 bool enable_ice_renomination = false; 374 bool enable_ice_renomination = false;
372 // If true, ICE role is redetermined when peerconnection sets a local 375 // If true, ICE role is redetermined when peerconnection sets a local
373 // transport description that indicates an ICE restart. 376 // transport description that indicates an ICE restart.
374 bool redetermine_role_on_ice_restart = true; 377 bool redetermine_role_on_ice_restart = true;
378 //
379 // Don't forget to update operator== if adding something.
380 //
375 }; 381 };
376 382
377 struct RTCOfferAnswerOptions { 383 struct RTCOfferAnswerOptions {
378 static const int kUndefined = -1; 384 static const int kUndefined = -1;
379 static const int kMaxOfferToReceiveMedia = 1; 385 static const int kMaxOfferToReceiveMedia = 1;
380 386
381 // The default value for constraint offerToReceiveX:true. 387 // The default value for constraint offerToReceiveX:true.
382 static const int kOfferToReceiveMediaTrue = 1; 388 static const int kOfferToReceiveMediaTrue = 1;
383 389
384 int offer_to_receive_video = kUndefined; 390 int offer_to_receive_video = kUndefined;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 virtual bool UpdateIce(const IceServers& configuration, 529 virtual bool UpdateIce(const IceServers& configuration,
524 const MediaConstraintsInterface* constraints) { 530 const MediaConstraintsInterface* constraints) {
525 return false; 531 return false;
526 } 532 }
527 virtual bool UpdateIce(const IceServers& configuration) { return false; } 533 virtual bool UpdateIce(const IceServers& configuration) { return false; }
528 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of 534 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of
529 // PeerConnectionInterface implement it. 535 // PeerConnectionInterface implement it.
530 virtual PeerConnectionInterface::RTCConfiguration GetConfiguration() { 536 virtual PeerConnectionInterface::RTCConfiguration GetConfiguration() {
531 return PeerConnectionInterface::RTCConfiguration(); 537 return PeerConnectionInterface::RTCConfiguration();
532 } 538 }
539
533 // Sets the PeerConnection's global configuration to |config|. 540 // Sets the PeerConnection's global configuration to |config|.
541 //
542 // The members of |config| that may be changed are |type|, |servers|,
543 // |ice_candidate_pool_size| and |prune_turn_ports| (though the candidate
544 // pool size can't be changed after the first call to SetLocalDescription).
545 // Note that this means the BUNDLE and RTCP-multiplexing policies cannot be
546 // changed with this method.
547 //
534 // Any changes to STUN/TURN servers or ICE candidate policy will affect the 548 // Any changes to STUN/TURN servers or ICE candidate policy will affect the
535 // next gathering phase, and cause the next call to createOffer to generate 549 // next gathering phase, and cause the next call to createOffer to generate
536 // new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies 550 // new ICE credentials, as described in JSEP. This also occurs when
537 // cannot be changed with this method. 551 // |prune_turn_ports| changes, for the same reasoning.
552 //
553 // If an error occurs, returns false and populates |error| if non-null:
554 // - INVALID_MODIFICATION if |config| contains a modified parameter other
555 // than one of the parameters listed above.
556 // - INVALID_RANGE if |ice_candidate_pool_size| is out of range.
557 // - SYNTAX_ERROR if parsing an ICE server URL failed.
558 // - INVALID_PARAMETER if a TURN server is missing |username| or |password|.
559 // - INTERNAL_ERROR if an unexpected error occurred.
560 //
538 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of 561 // TODO(deadbeef): Make this pure virtual once all Chrome subclasses of
539 // PeerConnectionInterface implement it. 562 // PeerConnectionInterface implement it.
540 virtual bool SetConfiguration( 563 virtual bool SetConfiguration(
541 const PeerConnectionInterface::RTCConfiguration& config) { 564 const PeerConnectionInterface::RTCConfiguration& config,
565 RtcError* error = nullptr) {
542 return false; 566 return false;
543 } 567 }
544 // Provides a remote candidate to the ICE Agent. 568 // Provides a remote candidate to the ICE Agent.
545 // A copy of the |candidate| will be created and added to the remote 569 // A copy of the |candidate| will be created and added to the remote
546 // description. So the caller of this method still has the ownership of the 570 // description. So the caller of this method still has the ownership of the
547 // |candidate|. 571 // |candidate|.
548 // TODO(ronghuawu): Consider to change this so that the AddIceCandidate will 572 // TODO(ronghuawu): Consider to change this so that the AddIceCandidate will
549 // take the ownership of the |candidate|. 573 // take the ownership of the |candidate|.
550 virtual bool AddIceCandidate(const IceCandidateInterface* candidate) = 0; 574 virtual bool AddIceCandidate(const IceCandidateInterface* candidate) = 0;
551 575
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 cricket::WebRtcVideoEncoderFactory* encoder_factory, 852 cricket::WebRtcVideoEncoderFactory* encoder_factory,
829 cricket::WebRtcVideoDecoderFactory* decoder_factory) { 853 cricket::WebRtcVideoDecoderFactory* decoder_factory) {
830 return CreatePeerConnectionFactory( 854 return CreatePeerConnectionFactory(
831 worker_and_network_thread, worker_and_network_thread, signaling_thread, 855 worker_and_network_thread, worker_and_network_thread, signaling_thread,
832 default_adm, encoder_factory, decoder_factory); 856 default_adm, encoder_factory, decoder_factory);
833 } 857 }
834 858
835 } // namespace webrtc 859 } // namespace webrtc
836 860
837 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_ 861 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698