OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 29 matching lines...) Expand all Loading... |
40 #include "webrtc/base/scoped_ptr.h" | 40 #include "webrtc/base/scoped_ptr.h" |
41 | 41 |
42 namespace webrtc { | 42 namespace webrtc { |
43 class MediaStreamHandlerContainer; | 43 class MediaStreamHandlerContainer; |
44 | 44 |
45 typedef std::vector<PortAllocatorFactoryInterface::StunConfiguration> | 45 typedef std::vector<PortAllocatorFactoryInterface::StunConfiguration> |
46 StunConfigurations; | 46 StunConfigurations; |
47 typedef std::vector<PortAllocatorFactoryInterface::TurnConfiguration> | 47 typedef std::vector<PortAllocatorFactoryInterface::TurnConfiguration> |
48 TurnConfigurations; | 48 TurnConfigurations; |
49 | 49 |
| 50 // Parses the URLs for each server in |servers| to build |stun_config| and |
| 51 // |turn_config|. |
| 52 bool ParseIceServers(const PeerConnectionInterface::IceServers& servers, |
| 53 StunConfigurations* stun_config, |
| 54 TurnConfigurations* turn_config); |
| 55 |
50 // PeerConnectionImpl implements the PeerConnection interface. | 56 // PeerConnectionImpl implements the PeerConnection interface. |
51 // It uses MediaStreamSignaling and WebRtcSession to implement | 57 // It uses MediaStreamSignaling and WebRtcSession to implement |
52 // the PeerConnection functionality. | 58 // the PeerConnection functionality. |
53 class PeerConnection : public PeerConnectionInterface, | 59 class PeerConnection : public PeerConnectionInterface, |
54 public MediaStreamSignalingObserver, | 60 public MediaStreamSignalingObserver, |
55 public IceObserver, | 61 public IceObserver, |
56 public rtc::MessageHandler, | 62 public rtc::MessageHandler, |
57 public sigslot::has_slots<> { | 63 public sigslot::has_slots<> { |
58 public: | 64 public: |
59 explicit PeerConnection(PeerConnectionFactory* factory); | 65 explicit PeerConnection(PeerConnectionFactory* factory); |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 rtc::scoped_ptr<cricket::PortAllocator> port_allocator_; | 193 rtc::scoped_ptr<cricket::PortAllocator> port_allocator_; |
188 rtc::scoped_ptr<WebRtcSession> session_; | 194 rtc::scoped_ptr<WebRtcSession> session_; |
189 rtc::scoped_ptr<MediaStreamSignaling> mediastream_signaling_; | 195 rtc::scoped_ptr<MediaStreamSignaling> mediastream_signaling_; |
190 rtc::scoped_ptr<MediaStreamHandlerContainer> stream_handler_container_; | 196 rtc::scoped_ptr<MediaStreamHandlerContainer> stream_handler_container_; |
191 rtc::scoped_ptr<StatsCollector> stats_; | 197 rtc::scoped_ptr<StatsCollector> stats_; |
192 }; | 198 }; |
193 | 199 |
194 } // namespace webrtc | 200 } // namespace webrtc |
195 | 201 |
196 #endif // TALK_APP_WEBRTC_PEERCONNECTION_H_ | 202 #endif // TALK_APP_WEBRTC_PEERCONNECTION_H_ |
OLD | NEW |