| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 
| 3  * Copyright (C) 2011 Ericsson AB. All rights reserved. | 3  * Copyright (C) 2011 Ericsson AB. All rights reserved. | 
| 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 | 6  * modification, are permitted provided that the following conditions | 
| 7  * are met: | 7  * are met: | 
| 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 | 
| 11  *     notice, this list of conditions and the following disclaimer in the | 11  *     notice, this list of conditions and the following disclaimer in the | 
| 12  *     documentation and/or other materials provided with the distribution. | 12  *     documentation and/or other materials provided with the distribution. | 
| 13  * | 13  * | 
| 14  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
     Y | 14  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
     Y | 
| 15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
| 16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
| 17  * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
     Y | 17  * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
     Y | 
| 18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
| 19  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 19  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
| 20  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
     N | 20  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
     N | 
| 21  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
| 23  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 24  */ | 24  */ | 
| 25 | 25 | 
| 26 #ifndef MediaStream_h | 26 #ifndef MediaStream_h | 
| 27 #define MediaStream_h | 27 #define MediaStream_h | 
| 28 | 28 | 
| 29 #include "core/dom/ContextLifecycleObserver.h" | 29 #include "core/dom/ContextLifecycleObserver.h" | 
|  | 30 #include "core/html/MediaProvider.h" | 
| 30 #include "core/html/URLRegistry.h" | 31 #include "core/html/URLRegistry.h" | 
| 31 #include "modules/EventTargetModules.h" | 32 #include "modules/EventTargetModules.h" | 
| 32 #include "modules/mediastream/MediaStreamTrack.h" | 33 #include "modules/mediastream/MediaStreamTrack.h" | 
| 33 #include "platform/Timer.h" | 34 #include "platform/Timer.h" | 
| 34 #include "platform/mediastream/MediaStreamDescriptor.h" | 35 #include "platform/mediastream/MediaStreamDescriptor.h" | 
| 35 | 36 | 
| 36 namespace blink { | 37 namespace blink { | 
| 37 | 38 | 
| 38 class ExceptionState; | 39 class ExceptionState; | 
| 39 | 40 | 
| 40 class MediaStream FINAL | 41 class MediaStream FINAL | 
| 41     : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<MediaStre
     am> | 42     : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<MediaStre
     am> | 
| 42     , public URLRegistrable | 43     , public URLRegistrable | 
|  | 44     , public MediaProvider | 
| 43     , public MediaStreamDescriptorClient | 45     , public MediaStreamDescriptorClient | 
| 44     , public EventTargetWithInlineData | 46     , public EventTargetWithInlineData | 
| 45     , public ContextLifecycleObserver { | 47     , public ContextLifecycleObserver { | 
| 46     DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollectedWi
     llBeGarbageCollectedFinalized<MediaStream>); | 48     DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollectedWi
     llBeGarbageCollectedFinalized<MediaStream>); | 
| 47     DEFINE_WRAPPERTYPEINFO(); | 49     DEFINE_WRAPPERTYPEINFO(); | 
| 48     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MediaStream); | 50     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MediaStream); | 
| 49 public: | 51 public: | 
| 50     static MediaStream* create(ExecutionContext*); | 52     static MediaStream* create(ExecutionContext*); | 
| 51     static MediaStream* create(ExecutionContext*, MediaStream*); | 53     static MediaStream* create(ExecutionContext*, MediaStream*); | 
| 52     static MediaStream* create(ExecutionContext*, const MediaStreamTrackVector&)
     ; | 54     static MediaStream* create(ExecutionContext*, const MediaStreamTrackVector&)
     ; | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
| 81 | 83 | 
| 82     MediaStreamDescriptor* descriptor() const { return m_descriptor.get(); } | 84     MediaStreamDescriptor* descriptor() const { return m_descriptor.get(); } | 
| 83 | 85 | 
| 84     // EventTarget | 86     // EventTarget | 
| 85     virtual const AtomicString& interfaceName() const OVERRIDE; | 87     virtual const AtomicString& interfaceName() const OVERRIDE; | 
| 86     virtual ExecutionContext* executionContext() const OVERRIDE; | 88     virtual ExecutionContext* executionContext() const OVERRIDE; | 
| 87 | 89 | 
| 88     // URLRegistrable | 90     // URLRegistrable | 
| 89     virtual URLRegistry& registry() const OVERRIDE; | 91     virtual URLRegistry& registry() const OVERRIDE; | 
| 90 | 92 | 
|  | 93     // MediaProvider | 
|  | 94     virtual EventTarget* eventTarget() OVERRIDE { return this; } | 
|  | 95     virtual const String& getObjectUrl() OVERRIDE; | 
|  | 96 | 
| 91     virtual void trace(Visitor*) OVERRIDE; | 97     virtual void trace(Visitor*) OVERRIDE; | 
| 92 | 98 | 
| 93 private: | 99 private: | 
| 94     MediaStream(ExecutionContext*, PassRefPtr<MediaStreamDescriptor>); | 100     MediaStream(ExecutionContext*, PassRefPtr<MediaStreamDescriptor>); | 
| 95     MediaStream(ExecutionContext*, const MediaStreamTrackVector& audioTracks, co
     nst MediaStreamTrackVector& videoTracks); | 101     MediaStream(ExecutionContext*, const MediaStreamTrackVector& audioTracks, co
     nst MediaStreamTrackVector& videoTracks); | 
| 96 | 102 | 
| 97     // ContextLifecycleObserver | 103     // ContextLifecycleObserver | 
| 98     virtual void contextDestroyed() OVERRIDE; | 104     virtual void contextDestroyed() OVERRIDE; | 
| 99 | 105 | 
| 100     // MediaStreamDescriptorClient | 106     // MediaStreamDescriptorClient | 
| 101     virtual void addRemoteTrack(MediaStreamComponent*) OVERRIDE; | 107     virtual void addRemoteTrack(MediaStreamComponent*) OVERRIDE; | 
| 102     virtual void removeRemoteTrack(MediaStreamComponent*) OVERRIDE; | 108     virtual void removeRemoteTrack(MediaStreamComponent*) OVERRIDE; | 
| 103 | 109 | 
| 104     void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); | 110     void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); | 
| 105     void scheduledEventTimerFired(Timer<MediaStream>*); | 111     void scheduledEventTimerFired(Timer<MediaStream>*); | 
| 106 | 112 | 
| 107     bool m_stopped; | 113     bool m_stopped; | 
|  | 114     String m_objectUrl; | 
| 108 | 115 | 
| 109     MediaStreamTrackVector m_audioTracks; | 116     MediaStreamTrackVector m_audioTracks; | 
| 110     MediaStreamTrackVector m_videoTracks; | 117     MediaStreamTrackVector m_videoTracks; | 
| 111     RefPtr<MediaStreamDescriptor> m_descriptor; | 118     RefPtr<MediaStreamDescriptor> m_descriptor; | 
| 112 | 119 | 
| 113     Timer<MediaStream> m_scheduledEventTimer; | 120     Timer<MediaStream> m_scheduledEventTimer; | 
| 114     WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; | 121     WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; | 
| 115 }; | 122 }; | 
| 116 | 123 | 
| 117 typedef HeapVector<Member<MediaStream> > MediaStreamVector; | 124 typedef HeapVector<Member<MediaStream> > MediaStreamVector; | 
| 118 | 125 | 
| 119 } // namespace blink | 126 } // namespace blink | 
| 120 | 127 | 
| 121 #endif // MediaStream_h | 128 #endif // MediaStream_h | 
| OLD | NEW | 
|---|