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

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

Issue 1648813004: Remove candidates when doing continual gathering (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Fix a Windows compiling error Created 4 years, 9 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 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 } 78 }
79 79
80 namespace cricket { 80 namespace cricket {
81 class WebRtcVideoDecoderFactory; 81 class WebRtcVideoDecoderFactory;
82 class WebRtcVideoEncoderFactory; 82 class WebRtcVideoEncoderFactory;
83 } 83 }
84 84
85 namespace webrtc { 85 namespace webrtc {
86 class AudioDeviceModule; 86 class AudioDeviceModule;
87 class MediaConstraintsInterface; 87 class MediaConstraintsInterface;
88 typedef rtc::scoped_refptr<IceCandidateInterface> IceCandidateInterfaceRefPtr;
88 89
89 // MediaStream container interface. 90 // MediaStream container interface.
90 class StreamCollectionInterface : public rtc::RefCountInterface { 91 class StreamCollectionInterface : public rtc::RefCountInterface {
91 public: 92 public:
92 // TODO(ronghuawu): Update the function names to c++ style, e.g. find -> Find. 93 // TODO(ronghuawu): Update the function names to c++ style, e.g. find -> Find.
93 virtual size_t count() = 0; 94 virtual size_t count() = 0;
94 virtual MediaStreamInterface* at(size_t index) = 0; 95 virtual MediaStreamInterface* at(size_t index) = 0;
95 virtual MediaStreamInterface* find(const std::string& label) = 0; 96 virtual MediaStreamInterface* find(const std::string& label) = 0;
96 virtual MediaStreamTrackInterface* FindAudioTrack( 97 virtual MediaStreamTrackInterface* FindAudioTrack(
97 const std::string& id) = 0; 98 const std::string& id) = 0;
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 return false; 411 return false;
411 } 412 }
412 // Provides a remote candidate to the ICE Agent. 413 // Provides a remote candidate to the ICE Agent.
413 // A copy of the |candidate| will be created and added to the remote 414 // A copy of the |candidate| will be created and added to the remote
414 // description. So the caller of this method still has the ownership of the 415 // description. So the caller of this method still has the ownership of the
415 // |candidate|. 416 // |candidate|.
416 // TODO(ronghuawu): Consider to change this so that the AddIceCandidate will 417 // TODO(ronghuawu): Consider to change this so that the AddIceCandidate will
417 // take the ownership of the |candidate|. 418 // take the ownership of the |candidate|.
418 virtual bool AddIceCandidate(const IceCandidateInterface* candidate) = 0; 419 virtual bool AddIceCandidate(const IceCandidateInterface* candidate) = 0;
419 420
421 // Removes a group of remote candidates from the ICE agent.
422 // TODO(honghaiz): make it a pure virtual method once all the subclasses have
423 // implemented this method.
424 virtual bool RemoveIceCandidates(
425 const std::vector<IceCandidateInterfaceRefPtr>& candidates) {
426 return false;
427 }
428
420 virtual void RegisterUMAObserver(UMAObserver* observer) = 0; 429 virtual void RegisterUMAObserver(UMAObserver* observer) = 0;
421 430
422 // Returns the current SignalingState. 431 // Returns the current SignalingState.
423 virtual SignalingState signaling_state() = 0; 432 virtual SignalingState signaling_state() = 0;
424 433
425 // TODO(bemasc): Remove ice_state when callers are changed to 434 // TODO(bemasc): Remove ice_state when callers are changed to
426 // IceConnection/GatheringState. 435 // IceConnection/GatheringState.
427 // Returns the current IceState. 436 // Returns the current IceState.
428 virtual IceState ice_state() = 0; 437 virtual IceState ice_state() = 0;
429 virtual IceConnectionState ice_connection_state() = 0; 438 virtual IceConnectionState ice_connection_state() = 0;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 virtual void OnIceConnectionChange( 475 virtual void OnIceConnectionChange(
467 PeerConnectionInterface::IceConnectionState new_state) = 0; 476 PeerConnectionInterface::IceConnectionState new_state) = 0;
468 477
469 // Called any time the IceGatheringState changes 478 // Called any time the IceGatheringState changes
470 virtual void OnIceGatheringChange( 479 virtual void OnIceGatheringChange(
471 PeerConnectionInterface::IceGatheringState new_state) = 0; 480 PeerConnectionInterface::IceGatheringState new_state) = 0;
472 481
473 // New Ice candidate have been found. 482 // New Ice candidate have been found.
474 virtual void OnIceCandidate(const IceCandidateInterface* candidate) = 0; 483 virtual void OnIceCandidate(const IceCandidateInterface* candidate) = 0;
475 484
485 // Ice candidates have been removed.
486 // TODO(honghaiz): Make this a pure virtual method when all its subclasses
487 // implement it.
488 virtual void OnIceCandidatesRemoved(
489 const std::vector<IceCandidateInterfaceRefPtr>& candidates){};
pthatcher1 2016/03/01 23:51:53 Same here. I don't understand why ref counting is
honghaiz3 2016/03/02 19:06:40 Since we need it in one place, I think we should j
490
476 // Called when the ICE connection receiving status changes. 491 // Called when the ICE connection receiving status changes.
477 virtual void OnIceConnectionReceivingChange(bool receiving) {} 492 virtual void OnIceConnectionReceivingChange(bool receiving) {}
478 493
479 protected: 494 protected:
480 // Dtor protected as objects shouldn't be deleted via this interface. 495 // Dtor protected as objects shouldn't be deleted via this interface.
481 ~PeerConnectionObserver() {} 496 ~PeerConnectionObserver() {}
482 }; 497 };
483 498
484 // PeerConnectionFactoryInterface is the factory interface use for creating 499 // PeerConnectionFactoryInterface is the factory interface use for creating
485 // PeerConnection, MediaStream and media tracks. 500 // PeerConnection, MediaStream and media tracks.
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 CreatePeerConnectionFactory( 611 CreatePeerConnectionFactory(
597 rtc::Thread* worker_thread, 612 rtc::Thread* worker_thread,
598 rtc::Thread* signaling_thread, 613 rtc::Thread* signaling_thread,
599 AudioDeviceModule* default_adm, 614 AudioDeviceModule* default_adm,
600 cricket::WebRtcVideoEncoderFactory* encoder_factory, 615 cricket::WebRtcVideoEncoderFactory* encoder_factory,
601 cricket::WebRtcVideoDecoderFactory* decoder_factory); 616 cricket::WebRtcVideoDecoderFactory* decoder_factory);
602 617
603 } // namespace webrtc 618 } // namespace webrtc
604 619
605 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_ 620 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698