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

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

Issue 552653005: Oilpan: Move MediaStreamSource, MediaStreamComponent and MediaStreamDescriptor to oilpan's heap (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 { 82 {
83 MediaStreamTrackVector audioTracks; 83 MediaStreamTrackVector audioTracks;
84 MediaStreamTrackVector videoTracks; 84 MediaStreamTrackVector videoTracks;
85 85
86 for (size_t i = 0; i < tracks.size(); ++i) 86 for (size_t i = 0; i < tracks.size(); ++i)
87 processTrack(tracks[i].get(), tracks[i]->kind() == "audio" ? audioTracks : videoTracks); 87 processTrack(tracks[i].get(), tracks[i]->kind() == "audio" ? audioTracks : videoTracks);
88 88
89 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, au dioTracks, videoTracks)); 89 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, au dioTracks, videoTracks));
90 } 90 }
91 91
92 MediaStream* MediaStream::create(ExecutionContext* context, PassRefPtr<MediaStre amDescriptor> streamDescriptor) 92 MediaStream* MediaStream::create(ExecutionContext* context, MediaStreamDescripto r* streamDescriptor)
93 { 93 {
94 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, st reamDescriptor)); 94 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, st reamDescriptor));
95 } 95 }
96 96
97 MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescri ptor> streamDescriptor) 97 MediaStream::MediaStream(ExecutionContext* context, MediaStreamDescriptor* strea mDescriptor)
98 : ContextLifecycleObserver(context) 98 : ContextLifecycleObserver(context)
99 , m_stopped(false) 99 , m_stopped(false)
100 , m_descriptor(streamDescriptor) 100 , m_descriptor(streamDescriptor)
101 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired) 101 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired)
102 { 102 {
103 m_descriptor->setClient(this); 103 m_descriptor->setClient(this);
104 104
105 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); 105 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents();
106 m_audioTracks.reserveCapacity(numberOfAudioTracks); 106 m_audioTracks.reserveCapacity(numberOfAudioTracks);
107 for (size_t i = 0; i < numberOfAudioTracks; i++) { 107 for (size_t i = 0; i < numberOfAudioTracks; i++) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 m_descriptor = MediaStreamDescriptor::create(audioComponents, videoComponent s); 140 m_descriptor = MediaStreamDescriptor::create(audioComponents, videoComponent s);
141 m_descriptor->setClient(this); 141 m_descriptor->setClient(this);
142 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor.get()); 142 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor.get());
143 143
144 m_audioTracks = audioTracks; 144 m_audioTracks = audioTracks;
145 m_videoTracks = videoTracks; 145 m_videoTracks = videoTracks;
146 } 146 }
147 147
148 MediaStream::~MediaStream() 148 MediaStream::~MediaStream()
149 { 149 {
150 m_descriptor->setClient(0);
151 } 150 }
152 151
153 bool MediaStream::ended() const 152 bool MediaStream::ended() const
154 { 153 {
155 return m_stopped || m_descriptor->ended(); 154 return m_stopped || m_descriptor->ended();
156 } 155 }
157 156
158 MediaStreamTrackVector MediaStream::getTracks() 157 MediaStreamTrackVector MediaStream::getTracks()
159 { 158 {
160 MediaStreamTrackVector tracks; 159 MediaStreamTrackVector tracks;
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 URLRegistry& MediaStream::registry() const 384 URLRegistry& MediaStream::registry() const
386 { 385 {
387 return MediaStreamRegistry::registry(); 386 return MediaStreamRegistry::registry();
388 } 387 }
389 388
390 void MediaStream::trace(Visitor* visitor) 389 void MediaStream::trace(Visitor* visitor)
391 { 390 {
392 visitor->trace(m_audioTracks); 391 visitor->trace(m_audioTracks);
393 visitor->trace(m_videoTracks); 392 visitor->trace(m_videoTracks);
394 visitor->trace(m_scheduledEvents); 393 visitor->trace(m_scheduledEvents);
394 visitor->trace(m_descriptor);
395 EventTargetWithInlineData::trace(visitor); 395 EventTargetWithInlineData::trace(visitor);
396 MediaStreamDescriptorClient::trace(visitor);
396 } 397 }
397 398
398 } // namespace blink 399 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/mediastream/MediaStream.h ('k') | Source/modules/mediastream/MediaStreamRegistry.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698