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

Side by Side Diff: third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp

Issue 1363143003: [Oilpan] Move MediaStream{Source|Component|Descriptor} to Oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert changes in PS8 Created 5 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
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 16 matching lines...) Expand all
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 #include "platform/mediastream/MediaStreamSource.h" 32 #include "platform/mediastream/MediaStreamSource.h"
33 33
34 34
35 namespace blink { 35 namespace blink {
36 36
37 PassRefPtr<MediaStreamSource> MediaStreamSource::create(const String& id, Type t ype, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer) 37 MediaStreamSource* MediaStreamSource::create(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresCo nsumer)
38 { 38 {
39 return adoptRef(new MediaStreamSource(id, type, name, remote, readonly, read yState, requiresConsumer)); 39 return new MediaStreamSource(id, type, name, remote, readonly, readyState, r equiresConsumer);
40 } 40 }
41 41
42 MediaStreamSource::MediaStreamSource(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer) 42 MediaStreamSource::MediaStreamSource(const String& id, Type type, const String& name, bool remote, bool readonly, ReadyState readyState, bool requiresConsumer)
43 : m_id(id) 43 : m_id(id)
44 , m_type(type) 44 , m_type(type)
45 , m_name(name) 45 , m_name(name)
46 , m_remote(remote) 46 , m_remote(remote)
47 , m_readonly(readonly) 47 , m_readonly(readonly)
48 , m_readyState(readyState) 48 , m_readyState(readyState)
49 , m_requiresConsumer(requiresConsumer) 49 , m_requiresConsumer(requiresConsumer)
50 { 50 {
51 } 51 }
52 52
53 void MediaStreamSource::setReadyState(ReadyState readyState) 53 void MediaStreamSource::setReadyState(ReadyState readyState)
54 { 54 {
55 if (m_readyState != ReadyStateEnded && m_readyState != readyState) { 55 if (m_readyState != ReadyStateEnded && m_readyState != readyState) {
56 m_readyState = readyState; 56 m_readyState = readyState;
57 for (Vector<Observer*>::iterator i = m_observers.begin(); i != m_observe rs.end(); ++i) 57 for (auto i = m_observers.begin(); i != m_observers.end(); ++i)
58 (*i)->sourceChangedState(); 58 (*i)->sourceChangedState();
59 } 59 }
60 } 60 }
61 61
62 void MediaStreamSource::addObserver(MediaStreamSource::Observer* observer) 62 void MediaStreamSource::addObserver(MediaStreamSource::Observer* observer)
63 { 63 {
64 m_observers.append(observer); 64 m_observers.add(observer);
65 }
66
67 void MediaStreamSource::removeObserver(MediaStreamSource::Observer* observer)
68 {
69 size_t pos = m_observers.find(observer);
70 if (pos != kNotFound)
71 m_observers.remove(pos);
72 } 65 }
73 66
74 void MediaStreamSource::addAudioConsumer(AudioDestinationConsumer* consumer) 67 void MediaStreamSource::addAudioConsumer(AudioDestinationConsumer* consumer)
75 { 68 {
76 ASSERT(m_requiresConsumer); 69 ASSERT(m_requiresConsumer);
77 MutexLocker locker(m_audioConsumersLock); 70 MutexLocker locker(m_audioConsumersLock);
78 m_audioConsumers.add(consumer); 71 m_audioConsumers.add(consumer);
79 } 72 }
80 73
81 bool MediaStreamSource::removeAudioConsumer(AudioDestinationConsumer* consumer) 74 bool MediaStreamSource::removeAudioConsumer(AudioDestinationConsumer* consumer)
(...skipping 16 matching lines...) Expand all
98 } 91 }
99 92
100 void MediaStreamSource::consumeAudio(AudioBus* bus, size_t numberOfFrames) 93 void MediaStreamSource::consumeAudio(AudioBus* bus, size_t numberOfFrames)
101 { 94 {
102 ASSERT(m_requiresConsumer); 95 ASSERT(m_requiresConsumer);
103 MutexLocker locker(m_audioConsumersLock); 96 MutexLocker locker(m_audioConsumersLock);
104 for (HeapHashSet<Member<AudioDestinationConsumer>>::iterator it = m_audioCon sumers.begin(); it != m_audioConsumers.end(); ++it) 97 for (HeapHashSet<Member<AudioDestinationConsumer>>::iterator it = m_audioCon sumers.begin(); it != m_audioConsumers.end(); ++it)
105 (*it)->consumeAudio(bus, numberOfFrames); 98 (*it)->consumeAudio(bus, numberOfFrames);
106 } 99 }
107 100
101 DEFINE_TRACE(MediaStreamSource)
102 {
103 visitor->trace(m_observers);
104 visitor->trace(m_audioConsumers);
105 }
106
108 } // namespace blink 107 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698