| 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 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 , m_playing(false) | 316 , m_playing(false) |
| 317 , m_shouldDelayLoadEvent(false) | 317 , m_shouldDelayLoadEvent(false) |
| 318 , m_haveFiredLoadedData(false) | 318 , m_haveFiredLoadedData(false) |
| 319 , m_autoplaying(true) | 319 , m_autoplaying(true) |
| 320 , m_muted(false) | 320 , m_muted(false) |
| 321 , m_paused(true) | 321 , m_paused(true) |
| 322 , m_seeking(false) | 322 , m_seeking(false) |
| 323 , m_sentStalledEvent(false) | 323 , m_sentStalledEvent(false) |
| 324 , m_sentEndEvent(false) | 324 , m_sentEndEvent(false) |
| 325 , m_closedCaptionsVisible(false) | 325 , m_closedCaptionsVisible(false) |
| 326 , m_completelyLoaded(false) | |
| 327 , m_havePreparedToPlay(false) | 326 , m_havePreparedToPlay(false) |
| 328 , m_tracksAreReady(true) | 327 , m_tracksAreReady(true) |
| 329 , m_haveVisibleTextTrack(false) | 328 , m_haveVisibleTextTrack(false) |
| 330 , m_processingPreferenceChange(false) | 329 , m_processingPreferenceChange(false) |
| 331 , m_remoteRoutesAvailable(false) | 330 , m_remoteRoutesAvailable(false) |
| 332 , m_playingRemotely(false) | 331 , m_playingRemotely(false) |
| 333 , m_isFinalizing(false) | 332 , m_isFinalizing(false) |
| 334 , m_initialPlayWithoutUserGesture(false) | 333 , m_initialPlayWithoutUserGesture(false) |
| 335 , m_autoplayMediaCounted(false) | 334 , m_autoplayMediaCounted(false) |
| 336 , m_inOverlayFullscreenVideo(false) | 335 , m_inOverlayFullscreenVideo(false) |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 | 708 |
| 710 // Perform the cleanup required for the resource load algorithm to run. | 709 // Perform the cleanup required for the resource load algorithm to run. |
| 711 stopPeriodicTimers(); | 710 stopPeriodicTimers(); |
| 712 m_loadTimer.stop(); | 711 m_loadTimer.stop(); |
| 713 cancelDeferredLoad(); | 712 cancelDeferredLoad(); |
| 714 // FIXME: Figure out appropriate place to reset LoadTextTrackResource if nec
essary and set m_pendingActionFlags to 0 here. | 713 // FIXME: Figure out appropriate place to reset LoadTextTrackResource if nec
essary and set m_pendingActionFlags to 0 here. |
| 715 m_pendingActionFlags &= ~LoadMediaResource; | 714 m_pendingActionFlags &= ~LoadMediaResource; |
| 716 m_sentEndEvent = false; | 715 m_sentEndEvent = false; |
| 717 m_sentStalledEvent = false; | 716 m_sentStalledEvent = false; |
| 718 m_haveFiredLoadedData = false; | 717 m_haveFiredLoadedData = false; |
| 719 m_completelyLoaded = false; | |
| 720 m_havePreparedToPlay = false; | 718 m_havePreparedToPlay = false; |
| 721 m_displayMode = Unknown; | 719 m_displayMode = Unknown; |
| 722 | 720 |
| 723 // 1 - Abort any already-running instance of the resource selection algorith
m for this element. | 721 // 1 - Abort any already-running instance of the resource selection algorith
m for this element. |
| 724 m_loadState = WaitingForSource; | 722 m_loadState = WaitingForSource; |
| 725 m_currentSourceNode = nullptr; | 723 m_currentSourceNode = nullptr; |
| 726 | 724 |
| 727 // 2 - If there are any tasks from the media element's media element event t
ask source in | 725 // 2 - If there are any tasks from the media element's media element event t
ask source in |
| 728 // one of the task queues, then remove those tasks. | 726 // one of the task queues, then remove those tasks. |
| 729 cancelPendingEventsAndCallbacks(); | 727 cancelPendingEventsAndCallbacks(); |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 m_mediaSource = nullptr; | 955 m_mediaSource = nullptr; |
| 958 attemptLoad = false; | 956 attemptLoad = false; |
| 959 } | 957 } |
| 960 } | 958 } |
| 961 } | 959 } |
| 962 } | 960 } |
| 963 | 961 |
| 964 if (attemptLoad && canLoadURL(url, contentType, keySystem)) { | 962 if (attemptLoad && canLoadURL(url, contentType, keySystem)) { |
| 965 ASSERT(!webMediaPlayer()); | 963 ASSERT(!webMediaPlayer()); |
| 966 | 964 |
| 967 if (!m_havePreparedToPlay && !autoplay() && preloadType() == WebMediaPla
yer::PreloadNone) { | 965 if (!m_havePreparedToPlay && effectivePreloadType() == WebMediaPlayer::P
reloadNone) { |
| 968 WTF_LOG(Media, "HTMLMediaElement::loadResource(%p) : Delaying load b
ecause preload == 'none'", this); | 966 WTF_LOG(Media, "HTMLMediaElement::loadResource(%p) : Delaying load b
ecause preload == 'none'", this); |
| 969 deferLoad(); | 967 deferLoad(); |
| 970 } else { | 968 } else { |
| 971 startPlayerLoad(); | 969 startPlayerLoad(); |
| 972 } | 970 } |
| 973 } else { | 971 } else { |
| 974 mediaLoadingFailed(WebMediaPlayer::NetworkStateFormatError); | 972 mediaLoadingFailed(WebMediaPlayer::NetworkStateFormatError); |
| 975 } | 973 } |
| 976 | 974 |
| 977 // If there is no poster to display, allow the media engine to render video
frames as soon as | 975 // If there is no poster to display, allow the media engine to render video
frames as soon as |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1381 setShouldDelayLoadEvent(false); | 1379 setShouldDelayLoadEvent(false); |
| 1382 } else { | 1380 } else { |
| 1383 setNetworkState(NETWORK_IDLE); | 1381 setNetworkState(NETWORK_IDLE); |
| 1384 } | 1382 } |
| 1385 } | 1383 } |
| 1386 | 1384 |
| 1387 if (state == WebMediaPlayer::NetworkStateLoading) { | 1385 if (state == WebMediaPlayer::NetworkStateLoading) { |
| 1388 if (m_networkState < NETWORK_LOADING || m_networkState == NETWORK_NO_SOU
RCE) | 1386 if (m_networkState < NETWORK_LOADING || m_networkState == NETWORK_NO_SOU
RCE) |
| 1389 startProgressEventTimer(); | 1387 startProgressEventTimer(); |
| 1390 setNetworkState(NETWORK_LOADING); | 1388 setNetworkState(NETWORK_LOADING); |
| 1391 m_completelyLoaded = false; | |
| 1392 } | 1389 } |
| 1393 | 1390 |
| 1394 if (state == WebMediaPlayer::NetworkStateLoaded) { | 1391 if (state == WebMediaPlayer::NetworkStateLoaded) { |
| 1395 if (m_networkState != NETWORK_IDLE) | 1392 if (m_networkState != NETWORK_IDLE) |
| 1396 changeNetworkStateFromLoadingToIdle(); | 1393 changeNetworkStateFromLoadingToIdle(); |
| 1397 m_completelyLoaded = true; | |
| 1398 } | 1394 } |
| 1399 } | 1395 } |
| 1400 | 1396 |
| 1401 void HTMLMediaElement::changeNetworkStateFromLoadingToIdle() | 1397 void HTMLMediaElement::changeNetworkStateFromLoadingToIdle() |
| 1402 { | 1398 { |
| 1403 m_progressEventTimer.stop(); | 1399 m_progressEventTimer.stop(); |
| 1404 | 1400 |
| 1405 // Schedule one last progress event so we guarantee that at least one is fir
ed | 1401 // Schedule one last progress event so we guarantee that at least one is fir
ed |
| 1406 // for files that load very quickly. | 1402 // for files that load very quickly. |
| 1407 if (webMediaPlayer() && webMediaPlayer()->didLoadingProgress()) | 1403 if (webMediaPlayer() && webMediaPlayer()->didLoadingProgress()) |
| (...skipping 2218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3626 { | 3622 { |
| 3627 visitor->trace(m_client); | 3623 visitor->trace(m_client); |
| 3628 } | 3624 } |
| 3629 | 3625 |
| 3630 DEFINE_TRACE(HTMLMediaElement::AudioSourceProviderImpl) | 3626 DEFINE_TRACE(HTMLMediaElement::AudioSourceProviderImpl) |
| 3631 { | 3627 { |
| 3632 visitor->trace(m_client); | 3628 visitor->trace(m_client); |
| 3633 } | 3629 } |
| 3634 | 3630 |
| 3635 } // namespace blink | 3631 } // namespace blink |
| OLD | NEW |