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

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/MediaStream.cpp

Issue 2614663008: Migrate WTF::Vector::append() to ::push_back() [part 13 of N] (Closed)
Patch Set: Created 3 years, 11 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * Copyright (C) 2011, 2012 Ericsson AB. All rights reserved. 3 * Copyright (C) 2011, 2012 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 return false; 44 return false;
45 } 45 }
46 46
47 static void processTrack(MediaStreamTrack* track, 47 static void processTrack(MediaStreamTrack* track,
48 MediaStreamTrackVector& trackVector) { 48 MediaStreamTrackVector& trackVector) {
49 if (track->ended()) 49 if (track->ended())
50 return; 50 return;
51 51
52 MediaStreamSource* source = track->component()->source(); 52 MediaStreamSource* source = track->component()->source();
53 if (!containsSource(trackVector, source)) 53 if (!containsSource(trackVector, source))
54 trackVector.append(track); 54 trackVector.push_back(track);
55 } 55 }
56 56
57 MediaStream* MediaStream::create(ExecutionContext* context) { 57 MediaStream* MediaStream::create(ExecutionContext* context) {
58 MediaStreamTrackVector audioTracks; 58 MediaStreamTrackVector audioTracks;
59 MediaStreamTrackVector videoTracks; 59 MediaStreamTrackVector videoTracks;
60 60
61 return new MediaStream(context, audioTracks, videoTracks); 61 return new MediaStream(context, audioTracks, videoTracks);
62 } 62 }
63 63
64 MediaStream* MediaStream::create(ExecutionContext* context, 64 MediaStream* MediaStream::create(ExecutionContext* context,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired), 100 m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired),
101 m_executionContext(context) { 101 m_executionContext(context) {
102 m_descriptor->setClient(this); 102 m_descriptor->setClient(this);
103 103
104 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); 104 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents();
105 m_audioTracks.reserveCapacity(numberOfAudioTracks); 105 m_audioTracks.reserveCapacity(numberOfAudioTracks);
106 for (size_t i = 0; i < numberOfAudioTracks; i++) { 106 for (size_t i = 0; i < numberOfAudioTracks; i++) {
107 MediaStreamTrack* newTrack = 107 MediaStreamTrack* newTrack =
108 MediaStreamTrack::create(context, m_descriptor->audioComponent(i)); 108 MediaStreamTrack::create(context, m_descriptor->audioComponent(i));
109 newTrack->registerMediaStream(this); 109 newTrack->registerMediaStream(this);
110 m_audioTracks.append(newTrack); 110 m_audioTracks.push_back(newTrack);
111 } 111 }
112 112
113 size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents(); 113 size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents();
114 m_videoTracks.reserveCapacity(numberOfVideoTracks); 114 m_videoTracks.reserveCapacity(numberOfVideoTracks);
115 for (size_t i = 0; i < numberOfVideoTracks; i++) { 115 for (size_t i = 0; i < numberOfVideoTracks; i++) {
116 MediaStreamTrack* newTrack = 116 MediaStreamTrack* newTrack =
117 MediaStreamTrack::create(context, m_descriptor->videoComponent(i)); 117 MediaStreamTrack::create(context, m_descriptor->videoComponent(i));
118 newTrack->registerMediaStream(this); 118 newTrack->registerMediaStream(this);
119 m_videoTracks.append(newTrack); 119 m_videoTracks.push_back(newTrack);
120 } 120 }
121 121
122 if (emptyOrOnlyEndedTracks()) { 122 if (emptyOrOnlyEndedTracks()) {
123 m_descriptor->setActive(false); 123 m_descriptor->setActive(false);
124 } 124 }
125 } 125 }
126 126
127 MediaStream::MediaStream(ExecutionContext* context, 127 MediaStream::MediaStream(ExecutionContext* context,
128 const MediaStreamTrackVector& audioTracks, 128 const MediaStreamTrackVector& audioTracks,
129 const MediaStreamTrackVector& videoTracks) 129 const MediaStreamTrackVector& videoTracks)
130 : m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired), 130 : m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired),
131 m_executionContext(context) { 131 m_executionContext(context) {
132 MediaStreamComponentVector audioComponents; 132 MediaStreamComponentVector audioComponents;
133 MediaStreamComponentVector videoComponents; 133 MediaStreamComponentVector videoComponents;
134 134
135 MediaStreamTrackVector::const_iterator iter; 135 MediaStreamTrackVector::const_iterator iter;
136 for (iter = audioTracks.begin(); iter != audioTracks.end(); ++iter) { 136 for (iter = audioTracks.begin(); iter != audioTracks.end(); ++iter) {
137 (*iter)->registerMediaStream(this); 137 (*iter)->registerMediaStream(this);
138 audioComponents.append((*iter)->component()); 138 audioComponents.push_back((*iter)->component());
139 } 139 }
140 for (iter = videoTracks.begin(); iter != videoTracks.end(); ++iter) { 140 for (iter = videoTracks.begin(); iter != videoTracks.end(); ++iter) {
141 (*iter)->registerMediaStream(this); 141 (*iter)->registerMediaStream(this);
142 videoComponents.append((*iter)->component()); 142 videoComponents.push_back((*iter)->component());
143 } 143 }
144 144
145 m_descriptor = 145 m_descriptor =
146 MediaStreamDescriptor::create(audioComponents, videoComponents); 146 MediaStreamDescriptor::create(audioComponents, videoComponents);
147 m_descriptor->setClient(this); 147 m_descriptor->setClient(this);
148 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor); 148 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor);
149 149
150 m_audioTracks = audioTracks; 150 m_audioTracks = audioTracks;
151 m_videoTracks = videoTracks; 151 m_videoTracks = videoTracks;
152 if (emptyOrOnlyEndedTracks()) { 152 if (emptyOrOnlyEndedTracks()) {
(...skipping 17 matching lines...) Expand all
170 if (!iter->get()->ended()) 170 if (!iter->get()->ended())
171 return false; 171 return false;
172 } 172 }
173 return true; 173 return true;
174 } 174 }
175 175
176 MediaStreamTrackVector MediaStream::getTracks() { 176 MediaStreamTrackVector MediaStream::getTracks() {
177 MediaStreamTrackVector tracks; 177 MediaStreamTrackVector tracks;
178 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin(); 178 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin();
179 iter != m_audioTracks.end(); ++iter) 179 iter != m_audioTracks.end(); ++iter)
180 tracks.append(iter->get()); 180 tracks.push_back(iter->get());
181 for (MediaStreamTrackVector::iterator iter = m_videoTracks.begin(); 181 for (MediaStreamTrackVector::iterator iter = m_videoTracks.begin();
182 iter != m_videoTracks.end(); ++iter) 182 iter != m_videoTracks.end(); ++iter)
183 tracks.append(iter->get()); 183 tracks.push_back(iter->get());
184 return tracks; 184 return tracks;
185 } 185 }
186 186
187 void MediaStream::addTrack(MediaStreamTrack* track, 187 void MediaStream::addTrack(MediaStreamTrack* track,
188 ExceptionState& exceptionState) { 188 ExceptionState& exceptionState) {
189 if (!track) { 189 if (!track) {
190 exceptionState.throwDOMException( 190 exceptionState.throwDOMException(
191 TypeMismatchError, "The MediaStreamTrack provided is invalid."); 191 TypeMismatchError, "The MediaStreamTrack provided is invalid.");
192 return; 192 return;
193 } 193 }
194 194
195 if (getTrackById(track->id())) 195 if (getTrackById(track->id()))
196 return; 196 return;
197 197
198 switch (track->component()->source()->type()) { 198 switch (track->component()->source()->type()) {
199 case MediaStreamSource::TypeAudio: 199 case MediaStreamSource::TypeAudio:
200 m_audioTracks.append(track); 200 m_audioTracks.push_back(track);
201 break; 201 break;
202 case MediaStreamSource::TypeVideo: 202 case MediaStreamSource::TypeVideo:
203 m_videoTracks.append(track); 203 m_videoTracks.push_back(track);
204 break; 204 break;
205 } 205 }
206 track->registerMediaStream(this); 206 track->registerMediaStream(this);
207 m_descriptor->addComponent(track->component()); 207 m_descriptor->addComponent(track->component());
208 208
209 if (!active() && !track->ended()) { 209 if (!active() && !track->ended()) {
210 m_descriptor->setActive(true); 210 m_descriptor->setActive(true);
211 scheduleDispatchEvent(Event::create(EventTypeNames::active)); 211 scheduleDispatchEvent(Event::create(EventTypeNames::active));
212 } 212 }
213 213
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 return iter->get(); 264 return iter->get();
265 } 265 }
266 266
267 return 0; 267 return 0;
268 } 268 }
269 269
270 MediaStream* MediaStream::clone(ExecutionContext* context) { 270 MediaStream* MediaStream::clone(ExecutionContext* context) {
271 MediaStreamTrackVector tracks; 271 MediaStreamTrackVector tracks;
272 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin(); 272 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin();
273 iter != m_audioTracks.end(); ++iter) 273 iter != m_audioTracks.end(); ++iter)
274 tracks.append((*iter)->clone(context)); 274 tracks.push_back((*iter)->clone(context));
275 for (MediaStreamTrackVector::iterator iter = m_videoTracks.begin(); 275 for (MediaStreamTrackVector::iterator iter = m_videoTracks.begin();
276 iter != m_videoTracks.end(); ++iter) 276 iter != m_videoTracks.end(); ++iter)
277 tracks.append((*iter)->clone(context)); 277 tracks.push_back((*iter)->clone(context));
278 return MediaStream::create(context, tracks); 278 return MediaStream::create(context, tracks);
279 } 279 }
280 280
281 void MediaStream::trackEnded() { 281 void MediaStream::trackEnded() {
282 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin(); 282 for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin();
283 iter != m_audioTracks.end(); ++iter) { 283 iter != m_audioTracks.end(); ++iter) {
284 if (!(*iter)->ended()) 284 if (!(*iter)->ended())
285 return; 285 return;
286 } 286 }
287 287
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 323
324 void MediaStream::addRemoteTrack(MediaStreamComponent* component) { 324 void MediaStream::addRemoteTrack(MediaStreamComponent* component) {
325 DCHECK(component); 325 DCHECK(component);
326 if (!m_executionContext || m_executionContext->isContextDestroyed()) 326 if (!m_executionContext || m_executionContext->isContextDestroyed())
327 return; 327 return;
328 328
329 MediaStreamTrack* track = 329 MediaStreamTrack* track =
330 MediaStreamTrack::create(m_executionContext, component); 330 MediaStreamTrack::create(m_executionContext, component);
331 switch (component->source()->type()) { 331 switch (component->source()->type()) {
332 case MediaStreamSource::TypeAudio: 332 case MediaStreamSource::TypeAudio:
333 m_audioTracks.append(track); 333 m_audioTracks.push_back(track);
334 break; 334 break;
335 case MediaStreamSource::TypeVideo: 335 case MediaStreamSource::TypeVideo:
336 m_videoTracks.append(track); 336 m_videoTracks.push_back(track);
337 break; 337 break;
338 } 338 }
339 track->registerMediaStream(this); 339 track->registerMediaStream(this);
340 m_descriptor->addComponent(component); 340 m_descriptor->addComponent(component);
341 341
342 scheduleDispatchEvent( 342 scheduleDispatchEvent(
343 MediaStreamTrackEvent::create(EventTypeNames::addtrack, track)); 343 MediaStreamTrackEvent::create(EventTypeNames::addtrack, track));
344 344
345 if (!active() && !track->ended()) { 345 if (!active() && !track->ended()) {
346 m_descriptor->setActive(true); 346 m_descriptor->setActive(true);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 scheduleDispatchEvent( 381 scheduleDispatchEvent(
382 MediaStreamTrackEvent::create(EventTypeNames::removetrack, track)); 382 MediaStreamTrackEvent::create(EventTypeNames::removetrack, track));
383 383
384 if (active() && emptyOrOnlyEndedTracks()) { 384 if (active() && emptyOrOnlyEndedTracks()) {
385 m_descriptor->setActive(false); 385 m_descriptor->setActive(false);
386 scheduleDispatchEvent(Event::create(EventTypeNames::inactive)); 386 scheduleDispatchEvent(Event::create(EventTypeNames::inactive));
387 } 387 }
388 } 388 }
389 389
390 void MediaStream::scheduleDispatchEvent(Event* event) { 390 void MediaStream::scheduleDispatchEvent(Event* event) {
391 m_scheduledEvents.append(event); 391 m_scheduledEvents.push_back(event);
392 392
393 if (!m_scheduledEventTimer.isActive()) 393 if (!m_scheduledEventTimer.isActive())
394 m_scheduledEventTimer.startOneShot(0, BLINK_FROM_HERE); 394 m_scheduledEventTimer.startOneShot(0, BLINK_FROM_HERE);
395 } 395 }
396 396
397 void MediaStream::scheduledEventTimerFired(TimerBase*) { 397 void MediaStream::scheduledEventTimerFired(TimerBase*) {
398 if (!m_executionContext || m_executionContext->isContextDestroyed()) 398 if (!m_executionContext || m_executionContext->isContextDestroyed())
399 return; 399 return;
400 400
401 HeapVector<Member<Event>> events; 401 HeapVector<Member<Event>> events;
(...skipping 18 matching lines...) Expand all
420 visitor->trace(m_executionContext); 420 visitor->trace(m_executionContext);
421 EventTargetWithInlineData::trace(visitor); 421 EventTargetWithInlineData::trace(visitor);
422 MediaStreamDescriptorClient::trace(visitor); 422 MediaStreamDescriptorClient::trace(visitor);
423 } 423 }
424 424
425 MediaStream* toMediaStream(MediaStreamDescriptor* descriptor) { 425 MediaStream* toMediaStream(MediaStreamDescriptor* descriptor) {
426 return static_cast<MediaStream*>(descriptor->client()); 426 return static_cast<MediaStream*>(descriptor->client());
427 } 427 }
428 428
429 } // namespace blink 429 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/mediastream/MediaDevices.cpp ('k') | third_party/WebKit/Source/modules/nfc/NFC.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698