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 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 | 66 |
67 bool active() const { return m_descriptor->active(); } | 67 bool active() const { return m_descriptor->active(); } |
68 | 68 |
69 DEFINE_ATTRIBUTE_EVENT_LISTENER(active); | 69 DEFINE_ATTRIBUTE_EVENT_LISTENER(active); |
70 DEFINE_ATTRIBUTE_EVENT_LISTENER(inactive); | 70 DEFINE_ATTRIBUTE_EVENT_LISTENER(inactive); |
71 DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack); | 71 DEFINE_ATTRIBUTE_EVENT_LISTENER(addtrack); |
72 DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack); | 72 DEFINE_ATTRIBUTE_EVENT_LISTENER(removetrack); |
73 | 73 |
74 void trackEnded(); | 74 void trackEnded(); |
75 | 75 |
76 // MediaStreamDescriptorClient | 76 // MediaStreamDescriptorClient implementation |
77 void streamEnded() override; | 77 void streamEnded() override; |
| 78 void addTrackByComponent(MediaStreamComponent*) override; |
| 79 void removeTrackByComponent(MediaStreamComponent*) override; |
78 | 80 |
79 MediaStreamDescriptor* descriptor() const { return m_descriptor; } | 81 MediaStreamDescriptor* descriptor() const { return m_descriptor; } |
80 | 82 |
81 // EventTarget | 83 // EventTarget |
82 const AtomicString& interfaceName() const override; | 84 const AtomicString& interfaceName() const override; |
83 ExecutionContext* getExecutionContext() const override { | 85 ExecutionContext* getExecutionContext() const override { |
84 return ContextClient::getExecutionContext(); | 86 return ContextClient::getExecutionContext(); |
85 } | 87 } |
86 | 88 |
87 // URLRegistrable | 89 // URLRegistrable |
88 URLRegistry& registry() const override; | 90 URLRegistry& registry() const override; |
89 | 91 |
90 DECLARE_VIRTUAL_TRACE(); | 92 DECLARE_VIRTUAL_TRACE(); |
91 | 93 |
92 protected: | 94 protected: |
93 bool addEventListenerInternal( | 95 bool addEventListenerInternal( |
94 const AtomicString& eventType, | 96 const AtomicString& eventType, |
95 EventListener*, | 97 EventListener*, |
96 const AddEventListenerOptionsResolved&) override; | 98 const AddEventListenerOptionsResolved&) override; |
97 | 99 |
98 private: | 100 private: |
99 MediaStream(ExecutionContext*, MediaStreamDescriptor*); | 101 MediaStream(ExecutionContext*, MediaStreamDescriptor*); |
100 MediaStream(ExecutionContext*, | 102 MediaStream(ExecutionContext*, |
101 const MediaStreamTrackVector& audioTracks, | 103 const MediaStreamTrackVector& audioTracks, |
102 const MediaStreamTrackVector& videoTracks); | 104 const MediaStreamTrackVector& videoTracks); |
103 | 105 |
104 // MediaStreamDescriptorClient | |
105 void addRemoteTrack(MediaStreamComponent*) override; | |
106 void removeRemoteTrack(MediaStreamComponent*) override; | |
107 | |
108 bool emptyOrOnlyEndedTracks(); | 106 bool emptyOrOnlyEndedTracks(); |
109 | 107 |
110 void scheduleDispatchEvent(Event*); | 108 void scheduleDispatchEvent(Event*); |
111 void scheduledEventTimerFired(TimerBase*); | 109 void scheduledEventTimerFired(TimerBase*); |
112 | 110 |
113 MediaStreamTrackVector m_audioTracks; | 111 MediaStreamTrackVector m_audioTracks; |
114 MediaStreamTrackVector m_videoTracks; | 112 MediaStreamTrackVector m_videoTracks; |
115 Member<MediaStreamDescriptor> m_descriptor; | 113 Member<MediaStreamDescriptor> m_descriptor; |
116 | 114 |
117 TaskRunnerTimer<MediaStream> m_scheduledEventTimer; | 115 TaskRunnerTimer<MediaStream> m_scheduledEventTimer; |
118 HeapVector<Member<Event>> m_scheduledEvents; | 116 HeapVector<Member<Event>> m_scheduledEvents; |
119 }; | 117 }; |
120 | 118 |
121 using MediaStreamVector = HeapVector<Member<MediaStream>>; | 119 using MediaStreamVector = HeapVector<Member<MediaStream>>; |
122 | 120 |
123 MediaStream* toMediaStream(MediaStreamDescriptor*); | 121 MediaStream* toMediaStream(MediaStreamDescriptor*); |
124 | 122 |
125 } // namespace blink | 123 } // namespace blink |
126 | 124 |
127 #endif // MediaStream_h | 125 #endif // MediaStream_h |
OLD | NEW |