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

Unified Diff: Source/modules/mediastream/RTCPeerConnection.h

Issue 650063002: Move MediaStream and MediaStreamTrack implementation from modules/mediastream to core/mediastream. Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased. Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/mediastream/RTCPeerConnection.h
diff --git a/Source/modules/mediastream/RTCPeerConnection.h b/Source/modules/mediastream/RTCPeerConnection.h
deleted file mode 100644
index 7cfd4d0399812a0d20226c11bff63da1b88730df..0000000000000000000000000000000000000000
--- a/Source/modules/mediastream/RTCPeerConnection.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2012 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name of Google Inc. nor the names of its contributors
- * may be used to endorse or promote products derived from this
- * software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef RTCPeerConnection_h
-#define RTCPeerConnection_h
-
-#include "bindings/core/v8/Dictionary.h"
-#include "core/dom/ActiveDOMObject.h"
-#include "modules/EventTargetModules.h"
-#include "modules/mediastream/MediaStream.h"
-#include "modules/mediastream/RTCIceCandidate.h"
-#include "platform/AsyncMethodRunner.h"
-#include "public/platform/WebMediaConstraints.h"
-#include "public/platform/WebRTCPeerConnectionHandler.h"
-#include "public/platform/WebRTCPeerConnectionHandlerClient.h"
-
-namespace blink {
-
-class ExceptionState;
-class MediaStreamTrack;
-class RTCConfiguration;
-class RTCDTMFSender;
-class RTCDataChannel;
-class RTCErrorCallback;
-class RTCOfferOptions;
-class RTCSessionDescription;
-class RTCSessionDescriptionCallback;
-class RTCStatsCallback;
-class VoidCallback;
-
-class RTCPeerConnection final
- : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<RTCPeerConnection>
- , public WebRTCPeerConnectionHandlerClient
- , public EventTargetWithInlineData
- , public ActiveDOMObject {
- DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<RTCPeerConnection>);
- DEFINE_WRAPPERTYPEINFO();
- WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCPeerConnection);
-public:
- static RTCPeerConnection* create(ExecutionContext*, const Dictionary&, const Dictionary&, ExceptionState&);
- virtual ~RTCPeerConnection();
-
- void createOffer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const Dictionary&, ExceptionState&);
-
- void createAnswer(RTCSessionDescriptionCallback*, RTCErrorCallback*, const Dictionary&, ExceptionState&);
-
- void setLocalDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCallback*, ExceptionState&);
- RTCSessionDescription* localDescription(ExceptionState&);
-
- void setRemoteDescription(RTCSessionDescription*, VoidCallback*, RTCErrorCallback*, ExceptionState&);
- RTCSessionDescription* remoteDescription(ExceptionState&);
-
- String signalingState() const;
-
- void updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionState&);
-
- // DEPRECATED
- void addIceCandidate(RTCIceCandidate*, ExceptionState&);
-
- void addIceCandidate(RTCIceCandidate*, VoidCallback*, RTCErrorCallback*, ExceptionState&);
-
- String iceGatheringState() const;
-
- String iceConnectionState() const;
-
- MediaStreamVector getLocalStreams() const;
-
- MediaStreamVector getRemoteStreams() const;
-
- MediaStream* getStreamById(const String& streamId);
-
- void addStream(MediaStream*, const Dictionary& mediaConstraints, ExceptionState&);
-
- void removeStream(MediaStream*, ExceptionState&);
-
- void getStats(RTCStatsCallback* successCallback, MediaStreamTrack* selector);
-
- RTCDataChannel* createDataChannel(String label, const Dictionary& dataChannelDict, ExceptionState&);
-
- RTCDTMFSender* createDTMFSender(MediaStreamTrack*, ExceptionState&);
-
- void close(ExceptionState&);
-
- // We allow getStats after close, but not other calls or callbacks.
- bool shouldFireDefaultCallbacks() { return !m_closed && !m_stopped; }
- bool shouldFireGetStatsCallback() { return !m_stopped; }
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(negotiationneeded);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(icecandidate);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(signalingstatechange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(iceconnectionstatechange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(datachannel);
-
- // WebRTCPeerConnectionHandlerClient
- virtual void negotiationNeeded() override;
- virtual void didGenerateICECandidate(const WebRTCICECandidate&) override;
- virtual void didChangeSignalingState(SignalingState) override;
- virtual void didChangeICEGatheringState(ICEGatheringState) override;
- virtual void didChangeICEConnectionState(ICEConnectionState) override;
- virtual void didAddRemoteStream(const WebMediaStream&) override;
- virtual void didRemoveRemoteStream(const WebMediaStream&) override;
- virtual void didAddRemoteDataChannel(WebRTCDataChannelHandler*) override;
- virtual void releasePeerConnectionHandler() override;
- virtual void closePeerConnection() override;
-
- // EventTarget
- virtual const AtomicString& interfaceName() const override;
- virtual ExecutionContext* executionContext() const override;
-
- // ActiveDOMObject
- virtual void suspend() override;
- virtual void resume() override;
- virtual void stop() override;
- // We keep the this object alive until either stopped or closed.
- virtual bool hasPendingActivity() const override
- {
- return !m_closed && !m_stopped;
- }
-
- virtual void trace(Visitor*) override;
-
-private:
- RTCPeerConnection(ExecutionContext*, RTCConfiguration*, WebMediaConstraints, ExceptionState&);
-
-
- static RTCConfiguration* parseConfiguration(const Dictionary&, ExceptionState&);
- static RTCOfferOptions* parseOfferOptions(const Dictionary&, ExceptionState&);
-
- void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>);
- void dispatchScheduledEvent();
- bool hasLocalStreamWithTrackId(const String& trackId);
-
- void changeSignalingState(WebRTCPeerConnectionHandlerClient::SignalingState);
- void changeIceGatheringState(WebRTCPeerConnectionHandlerClient::ICEGatheringState);
- void changeIceConnectionState(WebRTCPeerConnectionHandlerClient::ICEConnectionState);
-
- void closeInternal();
-
- SignalingState m_signalingState;
- ICEGatheringState m_iceGatheringState;
- ICEConnectionState m_iceConnectionState;
-
- MediaStreamVector m_localStreams;
- MediaStreamVector m_remoteStreams;
-
- HeapVector<Member<RTCDataChannel> > m_dataChannels;
-
- OwnPtr<WebRTCPeerConnectionHandler> m_peerHandler;
-
- AsyncMethodRunner<RTCPeerConnection> m_dispatchScheduledEventRunner;
- WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents;
-
- bool m_stopped;
- bool m_closed;
-};
-
-} // namespace blink
-
-#endif // RTCPeerConnection_h
« no previous file with comments | « Source/modules/mediastream/RTCIceCandidateEvent.idl ('k') | Source/modules/mediastream/RTCPeerConnection.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698