Changeset 207409 in webkit


Ignore:
Timestamp:
Oct 17, 2016 9:56:19 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
https://bugs.webkit.org/show_bug.cgi?id=163511

Patch by Miguel Gomez <magomez@igalia.com> on 2016-10-17
Reviewed by Carlos Garcia Campos.

Perform the video repaint in the main thread when accelerated compositing is disabled.

Covered by existent tests.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::repaint):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r207407 r207409  
     12016-10-17  Miguel Gomez  <magomez@igalia.com>
     2
     3        [GTK] Several tests crashing on debug bot in (anonymous namespace)::MediaPlayerPrivateGStreamerBase::repaint
     4        https://bugs.webkit.org/show_bug.cgi?id=163511
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Perform the video repaint in the main thread when accelerated compositing is disabled.
     9
     10        Covered by existent tests.
     11
     12        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
     13        (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
     14        (WebCore::MediaPlayerPrivateGStreamerBase::repaint):
     15        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
     16        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
     17
    1182016-10-17  Konstantin Tokarev  <annulen@yandex.ru>
    219
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp

    r207287 r207409  
    176176    , m_readyState(MediaPlayer::HaveNothing)
    177177    , m_networkState(MediaPlayer::Empty)
    178 #if USE(GSTREAMER_GL)
     178#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
    179179    , m_drawTimer(RunLoop::main(), this, &MediaPlayerPrivateGStreamerBase::repaint)
    180180#endif
     
    576576    m_player->repaint();
    577577
    578 #if USE(GSTREAMER_GL)
     578#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
    579579    m_drawCondition.notifyOne();
    580580#endif
     
    596596
    597597#if USE(COORDINATED_GRAPHICS_THREADED)
    598 #if USE(GSTREAMER_GL)
    599     if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
    600         pushTextureToCompositor();
    601     else {
     598    if (!m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
    602599        LockHolder locker(m_drawMutex);
    603600        m_drawTimer.startOneShot(0);
    604601        m_drawCondition.wait(m_drawMutex);
    605     }
     602        return;
     603    }
     604
     605#if USE(GSTREAMER_GL)
     606    pushTextureToCompositor();
    606607#else
    607     if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player)) {
     608    {
    608609        LockHolder lock(m_drawMutex);
    609610        if (!m_platformLayerProxy->scheduleUpdateOnCompositorThread([this] { this->pushTextureToCompositor(); }))
    610611            return;
    611612        m_drawCondition.wait(m_drawMutex);
    612     } else
    613         repaint();
     613    }
    614614#endif
    615615    return;
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h

    r206866 r207409  
    185185    mutable GMutex m_sampleMutex;
    186186    GRefPtr<GstSample> m_sample;
    187 #if USE(GSTREAMER_GL)
     187#if USE(GSTREAMER_GL) || USE(COORDINATED_GRAPHICS_THREADED)
    188188    RunLoop::Timer<MediaPlayerPrivateGStreamerBase> m_drawTimer;
    189189#endif
Note: See TracChangeset for help on using the changeset viewer.