OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ |
6 #define CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ | 6 #define CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 void setLocalDescription( | 125 void setLocalDescription( |
126 const blink::WebRTCVoidRequest& request, | 126 const blink::WebRTCVoidRequest& request, |
127 const blink::WebRTCSessionDescription& description) override; | 127 const blink::WebRTCSessionDescription& description) override; |
128 void setRemoteDescription( | 128 void setRemoteDescription( |
129 const blink::WebRTCVoidRequest& request, | 129 const blink::WebRTCVoidRequest& request, |
130 const blink::WebRTCSessionDescription& description) override; | 130 const blink::WebRTCSessionDescription& description) override; |
131 | 131 |
132 blink::WebRTCSessionDescription localDescription() override; | 132 blink::WebRTCSessionDescription localDescription() override; |
133 blink::WebRTCSessionDescription remoteDescription() override; | 133 blink::WebRTCSessionDescription remoteDescription() override; |
134 | 134 |
135 bool updateICE( | 135 bool setConfiguration( |
136 const blink::WebRTCConfiguration& server_configuration) override; | 136 const blink::WebRTCConfiguration& configuration) override; |
137 void logSelectedRtcpMuxPolicy( | 137 void logSelectedRtcpMuxPolicy( |
138 blink::RtcpMuxPolicy selectedRtcpMuxPolicy) override; | 138 blink::RtcpMuxPolicy selectedRtcpMuxPolicy) override; |
139 bool addICECandidate(const blink::WebRTCICECandidate& candidate) override; | 139 bool addICECandidate(const blink::WebRTCICECandidate& candidate) override; |
140 bool addICECandidate(const blink::WebRTCVoidRequest& request, | 140 bool addICECandidate(const blink::WebRTCVoidRequest& request, |
141 const blink::WebRTCICECandidate& candidate) override; | 141 const blink::WebRTCICECandidate& candidate) override; |
142 virtual void OnaddICECandidateResult(const blink::WebRTCVoidRequest& request, | 142 virtual void OnaddICECandidateResult(const blink::WebRTCVoidRequest& request, |
143 bool result); | 143 bool result); |
144 | 144 |
145 bool addStream(const blink::WebMediaStream& stream, | 145 bool addStream(const blink::WebMediaStream& stream, |
146 const blink::WebMediaConstraints& options) override; | 146 const blink::WebMediaConstraints& options) override; |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 int num_local_candidates_ipv4_ = 0; | 264 int num_local_candidates_ipv4_ = 0; |
265 int num_local_candidates_ipv6_ = 0; | 265 int num_local_candidates_ipv6_ = 0; |
266 | 266 |
267 // To make sure the observer is released after the native_peer_connection_, | 267 // To make sure the observer is released after the native_peer_connection_, |
268 // it has to come first. | 268 // it has to come first. |
269 scoped_refptr<Observer> peer_connection_observer_; | 269 scoped_refptr<Observer> peer_connection_observer_; |
270 | 270 |
271 // |native_peer_connection_| is the libjingle native PeerConnection object. | 271 // |native_peer_connection_| is the libjingle native PeerConnection object. |
272 scoped_refptr<webrtc::PeerConnectionInterface> native_peer_connection_; | 272 scoped_refptr<webrtc::PeerConnectionInterface> native_peer_connection_; |
273 | 273 |
| 274 // The last applied configuration. Used so that the constraints |
| 275 // used when constructing the PeerConnection carry over when |
| 276 // SetConfiguration is called. |
| 277 webrtc::PeerConnectionInterface::RTCConfiguration configuration_; |
| 278 |
274 // Record info about the first SessionDescription from the local and | 279 // Record info about the first SessionDescription from the local and |
275 // remote side to record UMA stats once both are set. We only check | 280 // remote side to record UMA stats once both are set. We only check |
276 // for the first offer or answer. "pranswer"s and "unknown"s (from | 281 // for the first offer or answer. "pranswer"s and "unknown"s (from |
277 // unit tests) are ignored. | 282 // unit tests) are ignored. |
278 std::unique_ptr<FirstSessionDescription> first_local_description_; | 283 std::unique_ptr<FirstSessionDescription> first_local_description_; |
279 std::unique_ptr<FirstSessionDescription> first_remote_description_; | 284 std::unique_ptr<FirstSessionDescription> first_remote_description_; |
280 | 285 |
281 std::map<webrtc::MediaStreamInterface*, | 286 std::map<webrtc::MediaStreamInterface*, |
282 std::unique_ptr<content::RemoteMediaStreamImpl>> | 287 std::unique_ptr<content::RemoteMediaStreamImpl>> |
283 remote_streams_; | 288 remote_streams_; |
284 scoped_refptr<webrtc::UMAObserver> uma_observer_; | 289 scoped_refptr<webrtc::UMAObserver> uma_observer_; |
285 base::TimeTicks ice_connection_checking_start_; | 290 base::TimeTicks ice_connection_checking_start_; |
286 | 291 |
287 // Track which ICE Connection state that this PeerConnection has gone through. | 292 // Track which ICE Connection state that this PeerConnection has gone through. |
288 bool ice_state_seen_[webrtc::PeerConnectionInterface::kIceConnectionMax] = {}; | 293 bool ice_state_seen_[webrtc::PeerConnectionInterface::kIceConnectionMax] = {}; |
289 | 294 |
290 base::WeakPtrFactory<RTCPeerConnectionHandler> weak_factory_; | 295 base::WeakPtrFactory<RTCPeerConnectionHandler> weak_factory_; |
291 | 296 |
292 DISALLOW_COPY_AND_ASSIGN(RTCPeerConnectionHandler); | 297 DISALLOW_COPY_AND_ASSIGN(RTCPeerConnectionHandler); |
293 }; | 298 }; |
294 | 299 |
295 } // namespace content | 300 } // namespace content |
296 | 301 |
297 #endif // CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ | 302 #endif // CONTENT_RENDERER_MEDIA_RTC_PEER_CONNECTION_HANDLER_H_ |
OLD | NEW |