OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 2335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2346 } | 2346 } |
2347 | 2347 |
2348 AudioTrackList& HTMLMediaElement::audioTracks() | 2348 AudioTrackList& HTMLMediaElement::audioTracks() |
2349 { | 2349 { |
2350 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); | 2350 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
2351 return *m_audioTracks; | 2351 return *m_audioTracks; |
2352 } | 2352 } |
2353 | 2353 |
2354 void HTMLMediaElement::audioTrackChanged(WebMediaPlayer::TrackId trackId, bool e
nabled) | 2354 void HTMLMediaElement::audioTrackChanged(WebMediaPlayer::TrackId trackId, bool e
nabled) |
2355 { | 2355 { |
2356 DVLOG(MEDIA_LOG_LEVEL) << "audioTrackChanged(" << (void*)this << ") trackId=
" << trackId << " enabled=" << boolString(enabled); | 2356 DVLOG(MEDIA_LOG_LEVEL) << "audioTrackChanged(" << (void*)this << ") trackId=
" << (String)trackId << " enabled=" << boolString(enabled); |
2357 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); | 2357 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
2358 | 2358 |
2359 audioTracks().scheduleChangeEvent(); | 2359 audioTracks().scheduleChangeEvent(); |
2360 | 2360 |
2361 // FIXME: Add call on m_mediaSource to notify it of track changes once the S
ourceBuffer.audioTracks attribute is added. | 2361 // FIXME: Add call on m_mediaSource to notify it of track changes once the S
ourceBuffer.audioTracks attribute is added. |
2362 | 2362 |
2363 if (!m_audioTracksTimer.isActive()) | 2363 if (!m_audioTracksTimer.isActive()) |
2364 m_audioTracksTimer.startOneShot(0, BLINK_FROM_HERE); | 2364 m_audioTracksTimer.startOneShot(0, BLINK_FROM_HERE); |
2365 } | 2365 } |
2366 | 2366 |
2367 void HTMLMediaElement::audioTracksTimerFired(Timer<HTMLMediaElement>*) | 2367 void HTMLMediaElement::audioTracksTimerFired(Timer<HTMLMediaElement>*) |
2368 { | 2368 { |
2369 Vector<WebMediaPlayer::TrackId> enabledTrackIds; | 2369 Vector<WebMediaPlayer::TrackId> enabledTrackIds; |
2370 for (unsigned i = 0; i < audioTracks().length(); ++i) { | 2370 for (unsigned i = 0; i < audioTracks().length(); ++i) { |
2371 AudioTrack* track = audioTracks().anonymousIndexedGetter(i); | 2371 AudioTrack* track = audioTracks().anonymousIndexedGetter(i); |
2372 if (track->enabled()) | 2372 if (track->enabled()) |
2373 enabledTrackIds.append(track->trackId()); | 2373 enabledTrackIds.append(track->trackId()); |
2374 } | 2374 } |
2375 | 2375 |
2376 webMediaPlayer()->enabledAudioTracksChanged(enabledTrackIds); | 2376 webMediaPlayer()->enabledAudioTracksChanged(enabledTrackIds); |
2377 } | 2377 } |
2378 | 2378 |
2379 WebMediaPlayer::TrackId HTMLMediaElement::addAudioTrack(const WebString& id, Web
MediaPlayerClient::AudioTrackKind kind, const WebString& label, const WebString&
language, bool enabled) | 2379 WebMediaPlayer::TrackId HTMLMediaElement::addAudioTrack(const WebString& id, Web
MediaPlayerClient::AudioTrackKind kind, const WebString& label, const WebString&
language, bool enabled) |
2380 { | 2380 { |
2381 AtomicString kindString = AudioKindToString(kind); | 2381 AtomicString kindString = AudioKindToString(kind); |
2382 DVLOG(MEDIA_LOG_LEVEL) << "addAudioTrack(" << (void*)this << ", '" << (Strin
g)id << "', ' " << (AtomicString)kindString | 2382 DVLOG(MEDIA_LOG_LEVEL) << "addAudioTrack(" << (void*)this << ", '" << (Strin
g)id << "', ' " << (AtomicString)kindString |
2383 << "', '" << (String)label << "', '" << (String)language << "', " << boo
lString(enabled) << ")"; | 2383 << "', '" << (String)label << "', '" << (String)language << "', " << boo
lString(enabled) << ")"; |
2384 | 2384 |
2385 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) | 2385 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) |
2386 return 0; | 2386 return blink::WebString(); |
2387 | 2387 |
2388 AudioTrack* audioTrack = AudioTrack::create(id, kindString, label, language,
enabled); | 2388 AudioTrack* audioTrack = AudioTrack::create(id, kindString, label, language,
enabled); |
2389 audioTracks().add(audioTrack); | 2389 audioTracks().add(audioTrack); |
2390 | 2390 |
2391 return audioTrack->trackId(); | 2391 return audioTrack->trackId(); |
2392 } | 2392 } |
2393 | 2393 |
2394 void HTMLMediaElement::removeAudioTrack(WebMediaPlayer::TrackId trackId) | 2394 void HTMLMediaElement::removeAudioTrack(WebMediaPlayer::TrackId trackId) |
2395 { | 2395 { |
2396 DVLOG(MEDIA_LOG_LEVEL) << "removeAudioTrack(" << (void*)this << ")"; | 2396 DVLOG(MEDIA_LOG_LEVEL) << "removeAudioTrack(" << (void*)this << ")"; |
2397 | 2397 |
2398 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) | 2398 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) |
2399 return; | 2399 return; |
2400 | 2400 |
2401 audioTracks().remove(trackId); | 2401 audioTracks().remove(trackId); |
2402 } | 2402 } |
2403 | 2403 |
2404 VideoTrackList& HTMLMediaElement::videoTracks() | 2404 VideoTrackList& HTMLMediaElement::videoTracks() |
2405 { | 2405 { |
2406 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); | 2406 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
2407 return *m_videoTracks; | 2407 return *m_videoTracks; |
2408 } | 2408 } |
2409 | 2409 |
2410 void HTMLMediaElement::selectedVideoTrackChanged(WebMediaPlayer::TrackId* select
edTrackId) | 2410 void HTMLMediaElement::selectedVideoTrackChanged(WebMediaPlayer::TrackId* select
edTrackId) |
2411 { | 2411 { |
2412 DVLOG(MEDIA_LOG_LEVEL) << "selectedVideoTrackChanged(" << (void*)this << ")
selectedTrackId=" << (selectedTrackId ? String::format("%u", *selectedTrackId) :
"none"); | 2412 DVLOG(MEDIA_LOG_LEVEL) << "selectedVideoTrackChanged(" << (void*)this << ")
selectedTrackId=" << (selectedTrackId ? ((String)*selectedTrackId) : "none"); |
2413 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); | 2413 DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
2414 | 2414 |
2415 if (selectedTrackId) | 2415 if (selectedTrackId) |
2416 videoTracks().trackSelected(*selectedTrackId); | 2416 videoTracks().trackSelected(*selectedTrackId); |
2417 | 2417 |
2418 // FIXME: Add call on m_mediaSource to notify it of track changes once the S
ourceBuffer.videoTracks attribute is added. | 2418 // FIXME: Add call on m_mediaSource to notify it of track changes once the S
ourceBuffer.videoTracks attribute is added. |
2419 | 2419 |
2420 webMediaPlayer()->selectedVideoTrackChanged(selectedTrackId); | 2420 webMediaPlayer()->selectedVideoTrackChanged(selectedTrackId); |
2421 } | 2421 } |
2422 | 2422 |
2423 WebMediaPlayer::TrackId HTMLMediaElement::addVideoTrack(const WebString& id, Web
MediaPlayerClient::VideoTrackKind kind, const WebString& label, const WebString&
language, bool selected) | 2423 WebMediaPlayer::TrackId HTMLMediaElement::addVideoTrack(const WebString& id, Web
MediaPlayerClient::VideoTrackKind kind, const WebString& label, const WebString&
language, bool selected) |
2424 { | 2424 { |
2425 AtomicString kindString = VideoKindToString(kind); | 2425 AtomicString kindString = VideoKindToString(kind); |
2426 DVLOG(MEDIA_LOG_LEVEL) << "addVideoTrack(" << (void*)this << ", '" << (Strin
g)id << "', '" << (AtomicString)kindString | 2426 DVLOG(MEDIA_LOG_LEVEL) << "addVideoTrack(" << (void*)this << ", '" << (Strin
g)id << "', '" << (AtomicString)kindString |
2427 << "', '" << (String)label << "', '" << (String)language << "', " << boo
lString(selected) << ")"; | 2427 << "', '" << (String)label << "', '" << (String)language << "', " << boo
lString(selected) << ")"; |
2428 | 2428 |
2429 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) | 2429 if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) |
2430 return 0; | 2430 return blink::WebString(); |
2431 | 2431 |
2432 // If another track was selected (potentially by the user), leave it selecte
d. | 2432 // If another track was selected (potentially by the user), leave it selecte
d. |
2433 if (selected && videoTracks().selectedIndex() != -1) | 2433 if (selected && videoTracks().selectedIndex() != -1) |
2434 selected = false; | 2434 selected = false; |
2435 | 2435 |
2436 VideoTrack* videoTrack = VideoTrack::create(id, kindString, label, language,
selected); | 2436 VideoTrack* videoTrack = VideoTrack::create(id, kindString, label, language,
selected); |
2437 videoTracks().add(videoTrack); | 2437 videoTracks().add(videoTrack); |
2438 | 2438 |
2439 return videoTrack->trackId(); | 2439 return videoTrack->trackId(); |
2440 } | 2440 } |
(...skipping 1440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3881 | 3881 |
3882 IntRect HTMLMediaElement::AutoplayHelperClientImpl::absoluteBoundingBoxRect() co
nst | 3882 IntRect HTMLMediaElement::AutoplayHelperClientImpl::absoluteBoundingBoxRect() co
nst |
3883 { | 3883 { |
3884 IntRect result; | 3884 IntRect result; |
3885 if (LayoutObject* object = m_element->layoutObject()) | 3885 if (LayoutObject* object = m_element->layoutObject()) |
3886 result = object->absoluteBoundingBoxRect(); | 3886 result = object->absoluteBoundingBoxRect(); |
3887 return result; | 3887 return result; |
3888 } | 3888 } |
3889 | 3889 |
3890 } // namespace blink | 3890 } // namespace blink |
OLD | NEW |