| OLD | NEW |
| 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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 #include <ostream> | 71 #include <ostream> |
| 72 #include <string> | 72 #include <string> |
| 73 #include <utility> | 73 #include <utility> |
| 74 #include <vector> | 74 #include <vector> |
| 75 | 75 |
| 76 #include "webrtc/api/audio_codecs/audio_decoder_factory.h" | 76 #include "webrtc/api/audio_codecs/audio_decoder_factory.h" |
| 77 #include "webrtc/api/datachannelinterface.h" | 77 #include "webrtc/api/datachannelinterface.h" |
| 78 #include "webrtc/api/dtmfsenderinterface.h" | 78 #include "webrtc/api/dtmfsenderinterface.h" |
| 79 #include "webrtc/api/jsep.h" | 79 #include "webrtc/api/jsep.h" |
| 80 #include "webrtc/api/mediastreaminterface.h" | 80 #include "webrtc/api/mediastreaminterface.h" |
| 81 #include "webrtc/api/rtcerror.h" |
| 81 #include "webrtc/api/rtpreceiverinterface.h" | 82 #include "webrtc/api/rtpreceiverinterface.h" |
| 82 #include "webrtc/api/rtpsenderinterface.h" | 83 #include "webrtc/api/rtpsenderinterface.h" |
| 83 #include "webrtc/api/stats/rtcstatscollectorcallback.h" | 84 #include "webrtc/api/stats/rtcstatscollectorcallback.h" |
| 84 #include "webrtc/api/statstypes.h" | 85 #include "webrtc/api/statstypes.h" |
| 85 #include "webrtc/api/umametrics.h" | 86 #include "webrtc/api/umametrics.h" |
| 86 #include "webrtc/base/fileutils.h" | 87 #include "webrtc/base/fileutils.h" |
| 87 #include "webrtc/base/network.h" | 88 #include "webrtc/base/network.h" |
| 88 #include "webrtc/base/rtccertificate.h" | 89 #include "webrtc/base/rtccertificate.h" |
| 89 #include "webrtc/base/rtccertificategenerator.h" | 90 #include "webrtc/base/rtccertificategenerator.h" |
| 90 #include "webrtc/base/socketaddress.h" | 91 #include "webrtc/base/socketaddress.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 }; | 127 }; |
| 127 | 128 |
| 128 class StatsObserver : public rtc::RefCountInterface { | 129 class StatsObserver : public rtc::RefCountInterface { |
| 129 public: | 130 public: |
| 130 virtual void OnComplete(const StatsReports& reports) = 0; | 131 virtual void OnComplete(const StatsReports& reports) = 0; |
| 131 | 132 |
| 132 protected: | 133 protected: |
| 133 virtual ~StatsObserver() {} | 134 virtual ~StatsObserver() {} |
| 134 }; | 135 }; |
| 135 | 136 |
| 136 // Enumeration to represent distinct classes of errors that an application | |
| 137 // may wish to act upon differently. These roughly map to DOMExceptions or | |
| 138 // RTCError "errorDetailEnum" values in the web API, as described in the | |
| 139 // comments below. | |
| 140 enum class RTCErrorType { | |
| 141 // No error. | |
| 142 NONE, | |
| 143 // A supplied parameter is valid, but currently unsupported. | |
| 144 // Maps to InvalidAccessError DOMException. | |
| 145 UNSUPPORTED_PARAMETER, | |
| 146 // General error indicating that a supplied parameter is invalid. | |
| 147 // Maps to InvalidAccessError or TypeError DOMException depending on context. | |
| 148 INVALID_PARAMETER, | |
| 149 // Slightly more specific than INVALID_PARAMETER; a parameter's value was | |
| 150 // outside the allowed range. | |
| 151 // Maps to RangeError DOMException. | |
| 152 INVALID_RANGE, | |
| 153 // Slightly more specific than INVALID_PARAMETER; an error occurred while | |
| 154 // parsing string input. | |
| 155 // Maps to SyntaxError DOMException. | |
| 156 SYNTAX_ERROR, | |
| 157 // The object does not support this operation in its current state. | |
| 158 // Maps to InvalidStateError DOMException. | |
| 159 INVALID_STATE, | |
| 160 // An attempt was made to modify the object in an invalid way. | |
| 161 // Maps to InvalidModificationError DOMException. | |
| 162 INVALID_MODIFICATION, | |
| 163 // An error occurred within an underlying network protocol. | |
| 164 // Maps to NetworkError DOMException. | |
| 165 NETWORK_ERROR, | |
| 166 // The operation failed due to an internal error. | |
| 167 // Maps to OperationError DOMException. | |
| 168 INTERNAL_ERROR, | |
| 169 }; | |
| 170 | |
| 171 // Roughly corresponds to RTCError in the web api. Holds an error type and | |
| 172 // possibly additional information specific to that error. | |
| 173 // | |
| 174 // Doesn't contain anything beyond a type now, but will in the future as more | |
| 175 // errors are implemented. | |
| 176 class RTCError { | |
| 177 public: | |
| 178 RTCError() : type_(RTCErrorType::NONE) {} | |
| 179 explicit RTCError(RTCErrorType type) : type_(type) {} | |
| 180 | |
| 181 RTCErrorType type() const { return type_; } | |
| 182 void set_type(RTCErrorType type) { type_ = type; } | |
| 183 | |
| 184 private: | |
| 185 RTCErrorType type_; | |
| 186 }; | |
| 187 | |
| 188 // Outputs the error as a friendly string. | |
| 189 // Update this method when adding a new error type. | |
| 190 std::ostream& operator<<(std::ostream& stream, RTCErrorType error); | |
| 191 | |
| 192 class PeerConnectionInterface : public rtc::RefCountInterface { | 137 class PeerConnectionInterface : public rtc::RefCountInterface { |
| 193 public: | 138 public: |
| 194 // See http://dev.w3.org/2011/webrtc/editor/webrtc.html#state-definitions . | 139 // See http://dev.w3.org/2011/webrtc/editor/webrtc.html#state-definitions . |
| 195 enum SignalingState { | 140 enum SignalingState { |
| 196 kStable, | 141 kStable, |
| 197 kHaveLocalOffer, | 142 kHaveLocalOffer, |
| 198 kHaveLocalPrAnswer, | 143 kHaveLocalPrAnswer, |
| 199 kHaveRemoteOffer, | 144 kHaveRemoteOffer, |
| 200 kHaveRemotePrAnswer, | 145 kHaveRemotePrAnswer, |
| 201 kClosed, | 146 kClosed, |
| (...skipping 954 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1156 cricket::WebRtcVideoEncoderFactory* encoder_factory, | 1101 cricket::WebRtcVideoEncoderFactory* encoder_factory, |
| 1157 cricket::WebRtcVideoDecoderFactory* decoder_factory) { | 1102 cricket::WebRtcVideoDecoderFactory* decoder_factory) { |
| 1158 return CreatePeerConnectionFactory( | 1103 return CreatePeerConnectionFactory( |
| 1159 worker_and_network_thread, worker_and_network_thread, signaling_thread, | 1104 worker_and_network_thread, worker_and_network_thread, signaling_thread, |
| 1160 default_adm, encoder_factory, decoder_factory); | 1105 default_adm, encoder_factory, decoder_factory); |
| 1161 } | 1106 } |
| 1162 | 1107 |
| 1163 } // namespace webrtc | 1108 } // namespace webrtc |
| 1164 | 1109 |
| 1165 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_ | 1110 #endif // WEBRTC_API_PEERCONNECTIONINTERFACE_H_ |
| OLD | NEW |