From cba9d72d6816ff7e1400578dbf3f4e195412d25e Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Sat, 21 Jan 2012 01:34:07 +0000 Subject: [PATCH] Small cleanup of {get,put}CurrentFrame for WebMediaPlayerClientImpl/CCVideoLayerImpl. https://bugs.webkit.org/show_bug.cgi?id=76332 Patch by Ami Fischman on 2012-01-20 Reviewed by James Robinson. Source/WebCore: * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: (WebCore::CCVideoLayerImpl::draw): Source/WebKit/chromium: * src/WebMediaPlayerClientImpl.cpp: (WebKit::WebMediaPlayerClientImpl::getCurrentFrame): (WebKit::WebMediaPlayerClientImpl::putCurrentFrame): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105559 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 10 ++++++++++ .../platform/graphics/chromium/cc/CCVideoLayerImpl.cpp | 8 ++++++-- Source/WebKit/chromium/ChangeLog | 11 +++++++++++ Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp | 16 ++++++++-------- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 96dd800..0f43619 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,13 @@ +2012-01-20 Ami Fischman + + Small cleanup of {get,put}CurrentFrame for WebMediaPlayerClientImpl/CCVideoLayerImpl. + https://bugs.webkit.org/show_bug.cgi?id=76332 + + Reviewed by James Robinson. + + * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: + (WebCore::CCVideoLayerImpl::draw): + 2012-01-20 Brady Eidson and https://bugs.webkit.org/show_bug.cgi?id=62764 diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp index ba1290e..09afb08 100644 --- a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp +++ b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp @@ -126,11 +126,15 @@ void CCVideoLayerImpl::draw(LayerRendererChromium* layerRenderer) return; GC3Denum format = convertVFCFormatToGC3DFormat(frame->format()); - if (format == GraphicsContext3D::INVALID_VALUE) + if (format == GraphicsContext3D::INVALID_VALUE) { + m_provider->putCurrentFrame(frame); return; + } - if (!copyFrameToTextures(frame, format, layerRenderer)) + if (!copyFrameToTextures(frame, format, layerRenderer)) { + m_provider->putCurrentFrame(frame); return; + } switch (format) { case GraphicsContext3D::LUMINANCE: diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog index cf03d7d..3f17e1e 100644 --- a/Source/WebKit/chromium/ChangeLog +++ b/Source/WebKit/chromium/ChangeLog @@ -1,3 +1,14 @@ +2012-01-20 Ami Fischman + + Small cleanup of {get,put}CurrentFrame for WebMediaPlayerClientImpl/CCVideoLayerImpl. + https://bugs.webkit.org/show_bug.cgi?id=76332 + + Reviewed by James Robinson. + + * src/WebMediaPlayerClientImpl.cpp: + (WebKit::WebMediaPlayerClientImpl::getCurrentFrame): + (WebKit::WebMediaPlayerClientImpl::putCurrentFrame): + 2012-01-20 Ryosuke Niwa Roll Chromium DEPS from 118291 to 118493. diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp index e263655..996e707 100644 --- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp +++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp @@ -603,7 +603,7 @@ VideoFrameChromium* WebMediaPlayerClientImpl::getCurrentFrame() { MutexLocker locker(m_compositingMutex); ASSERT(!m_currentVideoFrame); - if (m_webMediaPlayer && !m_currentVideoFrame) { + if (m_webMediaPlayer) { WebVideoFrame* webkitVideoFrame = m_webMediaPlayer->getCurrentFrame(); if (webkitVideoFrame) m_currentVideoFrame = adoptPtr(new VideoFrameChromiumImpl(webkitVideoFrame)); @@ -614,14 +614,14 @@ VideoFrameChromium* WebMediaPlayerClientImpl::getCurrentFrame() void WebMediaPlayerClientImpl::putCurrentFrame(VideoFrameChromium* videoFrame) { MutexLocker locker(m_compositingMutex); - if (videoFrame && videoFrame == m_currentVideoFrame) { - if (m_webMediaPlayer) { - m_webMediaPlayer->putCurrentFrame( - VideoFrameChromiumImpl::toWebVideoFrame(videoFrame)); - } - ASSERT(videoFrame == m_currentVideoFrame); - m_currentVideoFrame.clear(); + ASSERT(videoFrame == m_currentVideoFrame); + if (!videoFrame) + return; + if (m_webMediaPlayer) { + m_webMediaPlayer->putCurrentFrame( + VideoFrameChromiumImpl::toWebVideoFrame(videoFrame)); } + m_currentVideoFrame.clear(); } #endif -- 2.7.4