OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 WebMediaStreamSource::ExtraData* getExtraData() { return m_extraData.get(); } | 51 WebMediaStreamSource::ExtraData* getExtraData() { return m_extraData.get(); } |
52 | 52 |
53 private: | 53 private: |
54 std::unique_ptr<WebMediaStreamSource::ExtraData> m_extraData; | 54 std::unique_ptr<WebMediaStreamSource::ExtraData> m_extraData; |
55 }; | 55 }; |
56 | 56 |
57 } // namespace | 57 } // namespace |
58 | 58 |
59 WebMediaStreamSource WebMediaStreamSource::ExtraData::owner() { | 59 WebMediaStreamSource WebMediaStreamSource::ExtraData::owner() { |
60 ASSERT(m_owner); | 60 DCHECK(m_owner); |
61 return WebMediaStreamSource(m_owner); | 61 return WebMediaStreamSource(m_owner); |
62 } | 62 } |
63 | 63 |
64 void WebMediaStreamSource::ExtraData::setOwner(MediaStreamSource* owner) { | 64 void WebMediaStreamSource::ExtraData::setOwner(MediaStreamSource* owner) { |
65 ASSERT(!m_owner); | 65 DCHECK(!m_owner); |
66 m_owner = owner; | 66 m_owner = owner; |
67 } | 67 } |
68 | 68 |
69 WebMediaStreamSource::WebMediaStreamSource(MediaStreamSource* mediaStreamSource) | 69 WebMediaStreamSource::WebMediaStreamSource(MediaStreamSource* mediaStreamSource) |
70 : m_private(mediaStreamSource) {} | 70 : m_private(mediaStreamSource) {} |
71 | 71 |
72 WebMediaStreamSource& WebMediaStreamSource::operator=( | 72 WebMediaStreamSource& WebMediaStreamSource::operator=( |
73 MediaStreamSource* mediaStreamSource) { | 73 MediaStreamSource* mediaStreamSource) { |
74 m_private = mediaStreamSource; | 74 m_private = mediaStreamSource; |
75 return *this; | 75 return *this; |
76 } | 76 } |
77 | 77 |
78 void WebMediaStreamSource::assign(const WebMediaStreamSource& other) { | 78 void WebMediaStreamSource::assign(const WebMediaStreamSource& other) { |
79 m_private = other.m_private; | 79 m_private = other.m_private; |
80 } | 80 } |
81 | 81 |
82 void WebMediaStreamSource::reset() { | 82 void WebMediaStreamSource::reset() { |
83 m_private.reset(); | 83 m_private.reset(); |
84 } | 84 } |
85 | 85 |
86 WebMediaStreamSource::operator MediaStreamSource*() const { | 86 WebMediaStreamSource::operator MediaStreamSource*() const { |
87 return m_private.get(); | 87 return m_private.get(); |
88 } | 88 } |
89 | 89 |
90 void WebMediaStreamSource::initialize(const WebString& id, | 90 void WebMediaStreamSource::initialize(const WebString& id, |
91 Type type, | 91 Type type, |
92 const WebString& name) { | 92 const WebString& name) { |
93 m_private = MediaStreamSource::create( | 93 m_private = MediaStreamSource::create( |
94 id, static_cast<MediaStreamSource::StreamType>(type), name); | 94 id, static_cast<MediaStreamSource::StreamType>(type), name, false); |
| 95 } |
| 96 |
| 97 void WebMediaStreamSource::initialize(const WebString& id, |
| 98 Type type, |
| 99 const WebString& name, |
| 100 bool remote) { |
| 101 m_private = MediaStreamSource::create( |
| 102 id, static_cast<MediaStreamSource::StreamType>(type), name, remote); |
95 } | 103 } |
96 | 104 |
97 WebString WebMediaStreamSource::id() const { | 105 WebString WebMediaStreamSource::id() const { |
98 ASSERT(!m_private.isNull()); | 106 DCHECK(!m_private.isNull()); |
99 return m_private.get()->id(); | 107 return m_private.get()->id(); |
100 } | 108 } |
101 | 109 |
102 WebMediaStreamSource::Type WebMediaStreamSource::getType() const { | 110 WebMediaStreamSource::Type WebMediaStreamSource::getType() const { |
103 ASSERT(!m_private.isNull()); | 111 DCHECK(!m_private.isNull()); |
104 return static_cast<Type>(m_private.get()->type()); | 112 return static_cast<Type>(m_private.get()->type()); |
105 } | 113 } |
106 | 114 |
107 WebString WebMediaStreamSource::name() const { | 115 WebString WebMediaStreamSource::name() const { |
108 ASSERT(!m_private.isNull()); | 116 DCHECK(!m_private.isNull()); |
109 return m_private.get()->name(); | 117 return m_private.get()->name(); |
110 } | 118 } |
111 | 119 |
| 120 bool WebMediaStreamSource::remote() const { |
| 121 DCHECK(!m_private.isNull()); |
| 122 return m_private.get()->remote(); |
| 123 } |
| 124 |
112 void WebMediaStreamSource::setReadyState(ReadyState state) { | 125 void WebMediaStreamSource::setReadyState(ReadyState state) { |
113 ASSERT(!m_private.isNull()); | 126 DCHECK(!m_private.isNull()); |
114 m_private->setReadyState(static_cast<MediaStreamSource::ReadyState>(state)); | 127 m_private->setReadyState(static_cast<MediaStreamSource::ReadyState>(state)); |
115 } | 128 } |
116 | 129 |
117 WebMediaStreamSource::ReadyState WebMediaStreamSource::getReadyState() const { | 130 WebMediaStreamSource::ReadyState WebMediaStreamSource::getReadyState() const { |
118 ASSERT(!m_private.isNull()); | 131 DCHECK(!m_private.isNull()); |
119 return static_cast<ReadyState>(m_private->getReadyState()); | 132 return static_cast<ReadyState>(m_private->getReadyState()); |
120 } | 133 } |
121 | 134 |
122 WebMediaStreamSource::ExtraData* WebMediaStreamSource::getExtraData() const { | 135 WebMediaStreamSource::ExtraData* WebMediaStreamSource::getExtraData() const { |
123 ASSERT(!m_private.isNull()); | 136 DCHECK(!m_private.isNull()); |
124 MediaStreamSource::ExtraData* data = m_private->getExtraData(); | 137 MediaStreamSource::ExtraData* data = m_private->getExtraData(); |
125 if (!data) | 138 if (!data) |
126 return 0; | 139 return 0; |
127 return static_cast<ExtraDataContainer*>(data)->getExtraData(); | 140 return static_cast<ExtraDataContainer*>(data)->getExtraData(); |
128 } | 141 } |
129 | 142 |
130 void WebMediaStreamSource::setExtraData(ExtraData* extraData) { | 143 void WebMediaStreamSource::setExtraData(ExtraData* extraData) { |
131 ASSERT(!m_private.isNull()); | 144 DCHECK(!m_private.isNull()); |
132 | 145 |
133 if (extraData) | 146 if (extraData) |
134 extraData->setOwner(m_private.get()); | 147 extraData->setOwner(m_private.get()); |
135 | 148 |
136 m_private->setExtraData( | 149 m_private->setExtraData( |
137 WTF::wrapUnique(new ExtraDataContainer(WTF::wrapUnique(extraData)))); | 150 WTF::wrapUnique(new ExtraDataContainer(WTF::wrapUnique(extraData)))); |
138 } | 151 } |
139 | 152 |
140 WebMediaConstraints WebMediaStreamSource::constraints() { | 153 WebMediaConstraints WebMediaStreamSource::constraints() { |
141 ASSERT(!m_private.isNull()); | 154 DCHECK(!m_private.isNull()); |
142 return m_private->constraints(); | 155 return m_private->constraints(); |
143 } | 156 } |
144 | 157 |
145 bool WebMediaStreamSource::requiresAudioConsumer() const { | 158 bool WebMediaStreamSource::requiresAudioConsumer() const { |
146 ASSERT(!m_private.isNull()); | 159 DCHECK(!m_private.isNull()); |
147 return m_private->requiresAudioConsumer(); | 160 return m_private->requiresAudioConsumer(); |
148 } | 161 } |
149 | 162 |
150 class ConsumerWrapper final : public AudioDestinationConsumer { | 163 class ConsumerWrapper final : public AudioDestinationConsumer { |
151 USING_FAST_MALLOC(ConsumerWrapper); | 164 USING_FAST_MALLOC(ConsumerWrapper); |
152 | 165 |
153 public: | 166 public: |
154 static ConsumerWrapper* create(WebAudioDestinationConsumer* consumer) { | 167 static ConsumerWrapper* create(WebAudioDestinationConsumer* consumer) { |
155 return new ConsumerWrapper(consumer); | 168 return new ConsumerWrapper(consumer); |
156 } | 169 } |
(...skipping 23 matching lines...) Expand all Loading... |
180 size_t numberOfChannels = bus->numberOfChannels(); | 193 size_t numberOfChannels = bus->numberOfChannels(); |
181 WebVector<const float*> busVector(numberOfChannels); | 194 WebVector<const float*> busVector(numberOfChannels); |
182 for (size_t i = 0; i < numberOfChannels; ++i) | 195 for (size_t i = 0; i < numberOfChannels; ++i) |
183 busVector[i] = bus->channel(i)->data(); | 196 busVector[i] = bus->channel(i)->data(); |
184 | 197 |
185 m_consumer->consumeAudio(busVector, numberOfFrames); | 198 m_consumer->consumeAudio(busVector, numberOfFrames); |
186 } | 199 } |
187 | 200 |
188 void WebMediaStreamSource::addAudioConsumer( | 201 void WebMediaStreamSource::addAudioConsumer( |
189 WebAudioDestinationConsumer* consumer) { | 202 WebAudioDestinationConsumer* consumer) { |
190 ASSERT(isMainThread()); | 203 DCHECK(isMainThread()); |
191 ASSERT(!m_private.isNull() && consumer); | 204 DCHECK(!m_private.isNull() && consumer); |
192 | 205 |
193 m_private->addAudioConsumer(ConsumerWrapper::create(consumer)); | 206 m_private->addAudioConsumer(ConsumerWrapper::create(consumer)); |
194 } | 207 } |
195 | 208 |
196 bool WebMediaStreamSource::removeAudioConsumer( | 209 bool WebMediaStreamSource::removeAudioConsumer( |
197 WebAudioDestinationConsumer* consumer) { | 210 WebAudioDestinationConsumer* consumer) { |
198 ASSERT(isMainThread()); | 211 DCHECK(isMainThread()); |
199 ASSERT(!m_private.isNull() && consumer); | 212 DCHECK(!m_private.isNull() && consumer); |
200 | 213 |
201 const HashSet<AudioDestinationConsumer*>& consumers = | 214 const HashSet<AudioDestinationConsumer*>& consumers = |
202 m_private->audioConsumers(); | 215 m_private->audioConsumers(); |
203 for (AudioDestinationConsumer* it : consumers) { | 216 for (AudioDestinationConsumer* it : consumers) { |
204 ConsumerWrapper* wrapper = static_cast<ConsumerWrapper*>(it); | 217 ConsumerWrapper* wrapper = static_cast<ConsumerWrapper*>(it); |
205 if (wrapper->consumer() == consumer) { | 218 if (wrapper->consumer() == consumer) { |
206 m_private->removeAudioConsumer(wrapper); | 219 m_private->removeAudioConsumer(wrapper); |
207 return true; | 220 return true; |
208 } | 221 } |
209 } | 222 } |
210 return false; | 223 return false; |
211 } | 224 } |
212 | 225 |
213 } // namespace blink | 226 } // namespace blink |
OLD | NEW |