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

Side by Side Diff: webrtc/api/ortc/rtptransportcontrollerinterface.h

Issue 2675173003: Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc. (Closed)
Patch Set: Some comments. 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
(Empty)
1 /*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_API_ORTC_RTPTRANSPORTCONTROLLERINTERFACE_H_
12 #define WEBRTC_API_ORTC_RTPTRANSPORTCONTROLLERINTERFACE_H_
13
14 #include <vector>
15
16 #include "webrtc/api/ortc/rtptransportinterface.h"
17
18 namespace webrtc {
19
20 class RtpTransportControllerShim;
pthatcher1 2017/02/10 22:36:52 Can you leave a comment somewhere about what "shim
Taylor Brandstetter 2017/02/14 06:55:04 This is just a forward declaration. I have a comme
21
22 // Used to group RTP transports to the same remote endpoint, for the purpose of
23 // sharing bandwidth estimation and other things. Comparing this to the
24 // PeerConnection model, non-budled audio/video would use two RtpTransports
25 // with a single RtpTransportController, whereas bundled media would use a
26 // single RtpTransport.
27 //
28 // RtpTransports are associated with this controller when they're created, by
29 // passing the controller into OrtcFactory's relevant "CreateRtpTransport"
30 // method. When a transport is destroyed, it's automatically disassociated.
31 // GetTransports returns all currently associated transports.
32 //
33 // This is the RTP equivalent of "IceTransportController" in ORTC; RtpTransport
34 // is to RtpTransportController as IceTransport is to IceTransportController.
35 class RtpTransportControllerInterface {
36 public:
37 virtual ~RtpTransportControllerInterface() {}
38
39 // Returns all transports that are controlled by this controller and
40 // haven't yet been destroyed.
41 virtual std::vector<RtpTransportInterface*> GetTransports() const = 0;
42
43 protected:
44 // Only for internal use.
45 // Returns a pointer to the internal (non-public) interface.
46 virtual RtpTransportControllerShim* GetInternal() = 0;
47
48 // Classes that can use this internal interface.
49 friend class RtpTransportShim;
50 };
51
52 } // namespace webrtc
53
54 #endif // WEBRTC_API_ORTC_RTPTRANSPORTCONTROLLERINTERFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698