OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "web/WebMediaPlayerClientImpl.h" | 6 #include "web/WebMediaPlayerClientImpl.h" |
7 | 7 |
8 #include "core/frame/LocalFrame.h" | 8 #include "core/frame/LocalFrame.h" |
9 #include "core/html/HTMLMediaElement.h" | 9 #include "core/html/HTMLMediaElement.h" |
10 #include "core/html/TimeRanges.h" | 10 #include "core/html/TimeRanges.h" |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 // FIXME: Remove this cast | 203 // FIXME: Remove this cast |
204 LocalFrame* frame = mediaElement().document().frame(); | 204 LocalFrame* frame = mediaElement().document().frame(); |
205 | 205 |
206 WebURL poster = m_client->mediaPlayerPosterURL(); | 206 WebURL poster = m_client->mediaPlayerPosterURL(); |
207 | 207 |
208 KURL kurl(ParsedURLString, url); | 208 KURL kurl(ParsedURLString, url); |
209 m_webMediaPlayer = createWebMediaPlayer(this, kurl, frame, HTMLMediaElementE
ncryptedMedia::contentDecryptionModule(mediaElement())); | 209 m_webMediaPlayer = createWebMediaPlayer(this, kurl, frame, HTMLMediaElementE
ncryptedMedia::contentDecryptionModule(mediaElement())); |
210 if (!m_webMediaPlayer) | 210 if (!m_webMediaPlayer) |
211 return; | 211 return; |
212 | 212 |
213 #if ENABLE(WEB_AUDIO) | |
214 // Make sure if we create/re-create the WebMediaPlayer that we update our wr
apper. | 213 // Make sure if we create/re-create the WebMediaPlayer that we update our wr
apper. |
215 m_audioSourceProvider.wrap(m_webMediaPlayer->audioSourceProvider()); | 214 m_audioSourceProvider.wrap(m_webMediaPlayer->audioSourceProvider()); |
216 #endif | |
217 | 215 |
218 m_webMediaPlayer->setVolume(mediaElement().effectiveMediaVolume()); | 216 m_webMediaPlayer->setVolume(mediaElement().effectiveMediaVolume()); |
219 | 217 |
220 m_webMediaPlayer->setPoster(poster); | 218 m_webMediaPlayer->setPoster(poster); |
221 | 219 |
222 m_webMediaPlayer->load(loadType, kurl, corsMode); | 220 m_webMediaPlayer->load(loadType, kurl, corsMode); |
223 } | 221 } |
224 | 222 |
225 void WebMediaPlayerClientImpl::setPreload(MediaPlayer::Preload preload) | 223 void WebMediaPlayerClientImpl::setPreload(MediaPlayer::Preload preload) |
226 { | 224 { |
227 if (m_webMediaPlayer) | 225 if (m_webMediaPlayer) |
228 m_webMediaPlayer->setPreload(static_cast<WebMediaPlayer::Preload>(preloa
d)); | 226 m_webMediaPlayer->setPreload(static_cast<WebMediaPlayer::Preload>(preloa
d)); |
229 } | 227 } |
230 | 228 |
231 #if ENABLE(WEB_AUDIO) | |
232 AudioSourceProvider* WebMediaPlayerClientImpl::audioSourceProvider() | 229 AudioSourceProvider* WebMediaPlayerClientImpl::audioSourceProvider() |
233 { | 230 { |
234 return &m_audioSourceProvider; | 231 return &m_audioSourceProvider; |
235 } | 232 } |
236 #endif | |
237 | 233 |
238 PassOwnPtr<MediaPlayer> WebMediaPlayerClientImpl::create(MediaPlayerClient* clie
nt) | 234 PassOwnPtr<MediaPlayer> WebMediaPlayerClientImpl::create(MediaPlayerClient* clie
nt) |
239 { | 235 { |
240 return adoptPtr(new WebMediaPlayerClientImpl(client)); | 236 return adoptPtr(new WebMediaPlayerClientImpl(client)); |
241 } | 237 } |
242 | 238 |
243 WebMediaPlayerClientImpl::WebMediaPlayerClientImpl(MediaPlayerClient* client) | 239 WebMediaPlayerClientImpl::WebMediaPlayerClientImpl(MediaPlayerClient* client) |
244 : m_client(client) | 240 : m_client(client) |
245 { | 241 { |
246 ASSERT(m_client); | 242 ASSERT(m_client); |
247 } | 243 } |
248 | 244 |
249 HTMLMediaElement& WebMediaPlayerClientImpl::mediaElement() const | 245 HTMLMediaElement& WebMediaPlayerClientImpl::mediaElement() const |
250 { | 246 { |
251 return *static_cast<HTMLMediaElement*>(m_client); | 247 return *static_cast<HTMLMediaElement*>(m_client); |
252 } | 248 } |
253 | 249 |
254 #if ENABLE(WEB_AUDIO) | |
255 void WebMediaPlayerClientImpl::AudioSourceProviderImpl::wrap(WebAudioSourceProvi
der* provider) | 250 void WebMediaPlayerClientImpl::AudioSourceProviderImpl::wrap(WebAudioSourceProvi
der* provider) |
256 { | 251 { |
257 MutexLocker locker(provideInputLock); | 252 MutexLocker locker(provideInputLock); |
258 | 253 |
259 if (m_webAudioSourceProvider && provider != m_webAudioSourceProvider) | 254 if (m_webAudioSourceProvider && provider != m_webAudioSourceProvider) |
260 m_webAudioSourceProvider->setClient(0); | 255 m_webAudioSourceProvider->setClient(0); |
261 | 256 |
262 m_webAudioSourceProvider = provider; | 257 m_webAudioSourceProvider = provider; |
263 if (m_webAudioSourceProvider) | 258 if (m_webAudioSourceProvider) |
264 m_webAudioSourceProvider->setClient(m_client.get()); | 259 m_webAudioSourceProvider->setClient(m_client.get()); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 { | 297 { |
303 if (m_client) | 298 if (m_client) |
304 m_client->setFormat(numberOfChannels, sampleRate); | 299 m_client->setFormat(numberOfChannels, sampleRate); |
305 } | 300 } |
306 | 301 |
307 void WebMediaPlayerClientImpl::AudioClientImpl::trace(Visitor* visitor) | 302 void WebMediaPlayerClientImpl::AudioClientImpl::trace(Visitor* visitor) |
308 { | 303 { |
309 visitor->trace(m_client); | 304 visitor->trace(m_client); |
310 } | 305 } |
311 | 306 |
312 #endif | |
313 | |
314 } // namespace blink | 307 } // namespace blink |
OLD | NEW |