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

Side by Side Diff: Source/modules/mediastream/RTCPeerConnection.h

Issue 1010393002: Fix issue of localDescription and remoteDescription getter. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add m_pendingLocalDescription. Created 5 years, 7 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 (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCPeerConnection); 64 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCPeerConnection);
65 public: 65 public:
66 static RTCPeerConnection* create(ExecutionContext*, const Dictionary&, const Dictionary&, ExceptionState&); 66 static RTCPeerConnection* create(ExecutionContext*, const Dictionary&, const Dictionary&, ExceptionState&);
67 virtual ~RTCPeerConnection(); 67 virtual ~RTCPeerConnection();
68 68
69 void createOffer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const Di ctionary&, ExceptionState&); 69 void createOffer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const Di ctionary&, ExceptionState&);
70 70
71 void createAnswer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const D ictionary&, ExceptionState&); 71 void createAnswer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const D ictionary&, ExceptionState&);
72 72
73 void setLocalDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCall back*, ExceptionState&); 73 void setLocalDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCall back*, ExceptionState&);
74 RTCSessionDescription* localDescription(ExceptionState&); 74 RTCSessionDescription* localDescription();
75 75
76 void setRemoteDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCal lback*, ExceptionState&); 76 void setRemoteDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCal lback*, ExceptionState&);
77 RTCSessionDescription* remoteDescription(ExceptionState&); 77 RTCSessionDescription* remoteDescription();
78 78
79 String signalingState() const; 79 String signalingState() const;
80 80
81 void updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaCo nstraints, ExceptionState&); 81 void updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaCo nstraints, ExceptionState&);
82 82
83 // DEPRECATED 83 // DEPRECATED
84 void addIceCandidate(RTCIceCandidate*, ExceptionState&); 84 void addIceCandidate(RTCIceCandidate*, ExceptionState&);
85 85
86 void addIceCandidate(RTCIceCandidate*, VoidCallback*, RTCErrorCallback*, Exc eptionState&); 86 void addIceCandidate(RTCIceCandidate*, VoidCallback*, RTCErrorCallback*, Exc eptionState&);
87 87
(...skipping 15 matching lines...) Expand all
103 103
104 RTCDataChannel* createDataChannel(String label, const Dictionary& dataChanne lDict, ExceptionState&); 104 RTCDataChannel* createDataChannel(String label, const Dictionary& dataChanne lDict, ExceptionState&);
105 105
106 RTCDTMFSender* createDTMFSender(MediaStreamTrack*, ExceptionState&); 106 RTCDTMFSender* createDTMFSender(MediaStreamTrack*, ExceptionState&);
107 107
108 void close(ExceptionState&); 108 void close(ExceptionState&);
109 109
110 // We allow getStats after close, but not other calls or callbacks. 110 // We allow getStats after close, but not other calls or callbacks.
111 bool shouldFireDefaultCallbacks() { return !m_closed && !m_stopped; } 111 bool shouldFireDefaultCallbacks() { return !m_closed && !m_stopped; }
112 bool shouldFireGetStatsCallback() { return !m_stopped; } 112 bool shouldFireGetStatsCallback() { return !m_stopped; }
113 void updateLocalSessionDescriptionIfNeeded(bool pending);
114 void updateRemoteSessionDescriptionIfNeeded(bool pending);
113 115
114 DEFINE_ATTRIBUTE_EVENT_LISTENER(negotiationneeded); 116 DEFINE_ATTRIBUTE_EVENT_LISTENER(negotiationneeded);
115 DEFINE_ATTRIBUTE_EVENT_LISTENER(icecandidate); 117 DEFINE_ATTRIBUTE_EVENT_LISTENER(icecandidate);
116 DEFINE_ATTRIBUTE_EVENT_LISTENER(signalingstatechange); 118 DEFINE_ATTRIBUTE_EVENT_LISTENER(signalingstatechange);
117 DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream); 119 DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
118 DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream); 120 DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
119 DEFINE_ATTRIBUTE_EVENT_LISTENER(iceconnectionstatechange); 121 DEFINE_ATTRIBUTE_EVENT_LISTENER(iceconnectionstatechange);
120 DEFINE_ATTRIBUTE_EVENT_LISTENER(datachannel); 122 DEFINE_ATTRIBUTE_EVENT_LISTENER(datachannel);
121 123
122 // WebRTCPeerConnectionHandlerClient 124 // WebRTCPeerConnectionHandlerClient
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); 159 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>);
158 void dispatchScheduledEvent(); 160 void dispatchScheduledEvent();
159 bool hasLocalStreamWithTrackId(const String& trackId); 161 bool hasLocalStreamWithTrackId(const String& trackId);
160 162
161 void changeSignalingState(WebRTCPeerConnectionHandlerClient::SignalingState) ; 163 void changeSignalingState(WebRTCPeerConnectionHandlerClient::SignalingState) ;
162 void changeIceGatheringState(WebRTCPeerConnectionHandlerClient::ICEGathering State); 164 void changeIceGatheringState(WebRTCPeerConnectionHandlerClient::ICEGathering State);
163 void changeIceConnectionState(WebRTCPeerConnectionHandlerClient::ICEConnecti onState); 165 void changeIceConnectionState(WebRTCPeerConnectionHandlerClient::ICEConnecti onState);
164 166
165 void closeInternal(); 167 void closeInternal();
166 168
169 Member<RTCSessionDescription> m_localDescription;
170 Member<RTCSessionDescription> m_remoteDescription;
171 Member<RTCSessionDescription> m_pendingLocalDescription;
172 Member<RTCSessionDescription> m_pendingRemoteDescription;
173
167 SignalingState m_signalingState; 174 SignalingState m_signalingState;
168 ICEGatheringState m_iceGatheringState; 175 ICEGatheringState m_iceGatheringState;
169 ICEConnectionState m_iceConnectionState; 176 ICEConnectionState m_iceConnectionState;
170 177
171 MediaStreamVector m_localStreams; 178 MediaStreamVector m_localStreams;
172 MediaStreamVector m_remoteStreams; 179 MediaStreamVector m_remoteStreams;
173 180
174 HeapVector<Member<RTCDataChannel>> m_dataChannels; 181 HeapVector<Member<RTCDataChannel>> m_dataChannels;
175 182
176 OwnPtr<WebRTCPeerConnectionHandler> m_peerHandler; 183 OwnPtr<WebRTCPeerConnectionHandler> m_peerHandler;
177 184
178 AsyncMethodRunner<RTCPeerConnection> m_dispatchScheduledEventRunner; 185 AsyncMethodRunner<RTCPeerConnection> m_dispatchScheduledEventRunner;
179 WillBeHeapVector<RefPtrWillBeMember<Event>> m_scheduledEvents; 186 WillBeHeapVector<RefPtrWillBeMember<Event>> m_scheduledEvents;
180 187
181 bool m_stopped; 188 bool m_stopped;
182 bool m_closed; 189 bool m_closed;
183 }; 190 };
184 191
185 } // namespace blink 192 } // namespace blink
186 193
187 #endif // RTCPeerConnection_h 194 #endif // RTCPeerConnection_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698