⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 280589 in webkit


Ignore:
Timestamp:
Aug 3, 2021, 6:15:40 AM (5 years ago)
Author:
jer.noble@apple.com
Message:

REGRESSION (r280531): multiple modern-media-controls tests have become flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=228714
<rdar://problem/81426715>

Reviewed by Eric Carlson.

Update preferredRenderingMode() to reflect what setUpVideoRendering() actually does: use
MediaRenderingToContext whenever possible. This will cause setUpVideoRendering() to be
called from updateStates() to create the context, even if the element has been marked as
!isVisible() by RenderVideo upon removal from the DOM.

Also, in renderingModeChanged(), don't attempt to deduce whether scheduleUpdateStates()
should be called; just call it universally.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode const):
(WebCore::MediaPlayerPrivateAVFoundation::renderingModeChanged):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r280587 r280589  
     12021-08-03  Jer Noble  <jer.noble@apple.com>
     2
     3        REGRESSION (r280531): multiple modern-media-controls tests have become flaky timeouts
     4        https://bugs.webkit.org/show_bug.cgi?id=228714
     5        <rdar://problem/81426715>
     6
     7        Reviewed by Eric Carlson.
     8
     9        Update preferredRenderingMode() to reflect what setUpVideoRendering() actually does: use
     10        MediaRenderingToContext whenever possible. This will cause setUpVideoRendering() to be
     11        called from updateStates() to create the context, even if the element has been marked as
     12        !isVisible() by RenderVideo upon removal from the DOM.
     13
     14        Also, in renderingModeChanged(), don't attempt to deduce whether scheduleUpdateStates()
     15        should be called; just call it universally.
     16
     17        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
     18        (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode const):
     19        (WebCore::MediaPlayerPrivateAVFoundation::renderingModeChanged):
     20
    1212021-08-03  Kimmo Kinnunen  <kkinnunen@apple.com>
    222
  • trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp

    r280531 r280589  
    106106MediaPlayerPrivateAVFoundation::MediaRenderingMode MediaPlayerPrivateAVFoundation::preferredRenderingMode() const
    107107{
    108     if (!m_visible || assetStatus() == MediaPlayerAVAssetStatusUnknown)
     108    if (assetStatus() == MediaPlayerAVAssetStatusUnknown)
    109109        return MediaRenderingNone;
    110110
     
    469469void MediaPlayerPrivateAVFoundation::renderingModeChanged()
    470470{
    471     if (m_delayingReadyState && m_cachedHasVideo && hasAvailableVideoFrame())
    472         scheduleUpdateStates();
     471    scheduleUpdateStates();
    473472    m_player->renderingModeChanged();
    474473}
Note: See TracChangeset for help on using the changeset viewer.